// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'package:flutter/foundation.dart' show defaultTargetPlatform;
import 'package:flutter/widgets.dart';

// ignore_for_file: non_constant_identifier_names

/// A set of platform-adaptive Material Design icons.
///
/// Use [Icons.adaptive] to access a static instance of this class.
class PlatformAdaptiveIcons implements Icons {
  const PlatformAdaptiveIcons._();

  static bool _isCupertino() {
    switch (defaultTargetPlatform) {
      case TargetPlatform.android:
      case TargetPlatform.fuchsia:
      case TargetPlatform.linux:
      case TargetPlatform.windows:
        return false;
      case TargetPlatform.iOS:
      case TargetPlatform.macOS:
        return true;
    }
  }

  // Generated code: do not hand-edit.
  // See https://github.com/flutter/flutter/wiki/Updating-Material-Design-Fonts-&-Icons

  // BEGIN GENERATED PLATFORM ADAPTIVE ICONS

  /// Platform-adaptive icon for <i class="material-icons md-36">arrow_back</i> &#x2014; material icon named "arrow back" and <i class="material-icons md-36">arrow_back_ios</i> &#x2014; material icon named "arrow back ios".;
  IconData get arrow_back => !_isCupertino() ? Icons.arrow_back : Icons.arrow_back_ios;

  /// Platform-adaptive icon for <i class="material-icons-outlined md-36">arrow_back</i> &#x2014; material icon named "arrow back" (outlined) and <i class="material-icons-outlined md-36">arrow_back_ios</i> &#x2014; material icon named "arrow back ios" (outlined).;
  IconData get arrow_back_outlined => !_isCupertino() ? Icons.arrow_back_outlined : Icons.arrow_back_ios_outlined;

  /// Platform-adaptive icon for <i class="material-icons-round md-36">arrow_back</i> &#x2014; material icon named "arrow back" (round) and <i class="material-icons-round md-36">arrow_back_ios</i> &#x2014; material icon named "arrow back ios" (round).;
  IconData get arrow_back_rounded => !_isCupertino() ? Icons.arrow_back_rounded : Icons.arrow_back_ios_rounded;

  /// Platform-adaptive icon for <i class="material-icons-sharp md-36">arrow_back</i> &#x2014; material icon named "arrow back" (sharp) and <i class="material-icons-sharp md-36">arrow_back_ios</i> &#x2014; material icon named "arrow back ios" (sharp).;
  IconData get arrow_back_sharp => !_isCupertino() ? Icons.arrow_back_sharp : Icons.arrow_back_ios_sharp;

  /// Platform-adaptive icon for <i class="material-icons md-36">arrow_forward</i> &#x2014; material icon named "arrow forward" and <i class="material-icons md-36">arrow_forward_ios</i> &#x2014; material icon named "arrow forward ios".;
  IconData get arrow_forward => !_isCupertino() ? Icons.arrow_forward : Icons.arrow_forward_ios;

  /// Platform-adaptive icon for <i class="material-icons-outlined md-36">arrow_forward</i> &#x2014; material icon named "arrow forward" (outlined) and <i class="material-icons-outlined md-36">arrow_forward_ios</i> &#x2014; material icon named "arrow forward ios" (outlined).;
  IconData get arrow_forward_outlined => !_isCupertino() ? Icons.arrow_forward_outlined : Icons.arrow_forward_ios_outlined;

  /// Platform-adaptive icon for <i class="material-icons-round md-36">arrow_forward</i> &#x2014; material icon named "arrow forward" (round) and <i class="material-icons-round md-36">arrow_forward_ios</i> &#x2014; material icon named "arrow forward ios" (round).;
  IconData get arrow_forward_rounded => !_isCupertino() ? Icons.arrow_forward_rounded : Icons.arrow_forward_ios_rounded;

  /// Platform-adaptive icon for <i class="material-icons-sharp md-36">arrow_forward</i> &#x2014; material icon named "arrow forward" (sharp) and <i class="material-icons-sharp md-36">arrow_forward_ios</i> &#x2014; material icon named "arrow forward ios" (sharp).;
  IconData get arrow_forward_sharp => !_isCupertino() ? Icons.arrow_forward_sharp : Icons.arrow_forward_ios_sharp;

  /// Platform-adaptive icon for <i class="material-icons md-36">flip_camera_android</i> &#x2014; material icon named "flip camera android" and <i class="material-icons md-36">flip_camera_ios</i> &#x2014; material icon named "flip camera ios".;
  IconData get flip_camera => !_isCupertino() ? Icons.flip_camera_android : Icons.flip_camera_ios;

  /// Platform-adaptive icon for <i class="material-icons-outlined md-36">flip_camera_android</i> &#x2014; material icon named "flip camera android" (outlined) and <i class="material-icons-outlined md-36">flip_camera_ios</i> &#x2014; material icon named "flip camera ios" (outlined).;
  IconData get flip_camera_outlined => !_isCupertino() ? Icons.flip_camera_android_outlined : Icons.flip_camera_ios_outlined;

  /// Platform-adaptive icon for <i class="material-icons-round md-36">flip_camera_android</i> &#x2014; material icon named "flip camera android" (round) and <i class="material-icons-round md-36">flip_camera_ios</i> &#x2014; material icon named "flip camera ios" (round).;
  IconData get flip_camera_rounded => !_isCupertino() ? Icons.flip_camera_android_rounded : Icons.flip_camera_ios_rounded;

  /// Platform-adaptive icon for <i class="material-icons-sharp md-36">flip_camera_android</i> &#x2014; material icon named "flip camera android" (sharp) and <i class="material-icons-sharp md-36">flip_camera_ios</i> &#x2014; material icon named "flip camera ios" (sharp).;
  IconData get flip_camera_sharp => !_isCupertino() ? Icons.flip_camera_android_sharp : Icons.flip_camera_ios_sharp;

  /// Platform-adaptive icon for <i class="material-icons md-36">more_vert</i> &#x2014; material icon named "more vert" and <i class="material-icons md-36">more_horiz</i> &#x2014; material icon named "more horiz".;
  IconData get more => !_isCupertino() ? Icons.more_vert : Icons.more_horiz;

  /// Platform-adaptive icon for <i class="material-icons-outlined md-36">more_vert</i> &#x2014; material icon named "more vert" (outlined) and <i class="material-icons-outlined md-36">more_horiz</i> &#x2014; material icon named "more horiz" (outlined).;
  IconData get more_outlined => !_isCupertino() ? Icons.more_vert_outlined : Icons.more_horiz_outlined;

  /// Platform-adaptive icon for <i class="material-icons-round md-36">more_vert</i> &#x2014; material icon named "more vert" (round) and <i class="material-icons-round md-36">more_horiz</i> &#x2014; material icon named "more horiz" (round).;
  IconData get more_rounded => !_isCupertino() ? Icons.more_vert_rounded : Icons.more_horiz_rounded;

  /// Platform-adaptive icon for <i class="material-icons-sharp md-36">more_vert</i> &#x2014; material icon named "more vert" (sharp) and <i class="material-icons-sharp md-36">more_horiz</i> &#x2014; material icon named "more horiz" (sharp).;
  IconData get more_sharp => !_isCupertino() ? Icons.more_vert_sharp : Icons.more_horiz_sharp;

  /// Platform-adaptive icon for <i class="material-icons md-36">share</i> &#x2014; material icon named "share" and <i class="material-icons md-36">ios_share</i> &#x2014; material icon named "ios share".;
  IconData get share => !_isCupertino() ? Icons.share : Icons.ios_share;

  /// Platform-adaptive icon for <i class="material-icons-outlined md-36">share</i> &#x2014; material icon named "share" (outlined) and <i class="material-icons-outlined md-36">ios_share</i> &#x2014; material icon named "ios share" (outlined).;
  IconData get share_outlined => !_isCupertino() ? Icons.share_outlined : Icons.ios_share_outlined;

  /// Platform-adaptive icon for <i class="material-icons-round md-36">share</i> &#x2014; material icon named "share" (round) and <i class="material-icons-round md-36">ios_share</i> &#x2014; material icon named "ios share" (round).;
  IconData get share_rounded => !_isCupertino() ? Icons.share_rounded : Icons.ios_share_rounded;

  /// Platform-adaptive icon for <i class="material-icons-sharp md-36">share</i> &#x2014; material icon named "share" (sharp) and <i class="material-icons-sharp md-36">ios_share</i> &#x2014; material icon named "ios share" (sharp).;
  IconData get share_sharp => !_isCupertino() ? Icons.share_sharp : Icons.ios_share_sharp;
  // END GENERATED PLATFORM ADAPTIVE ICONS
}

/// Identifiers for the supported [Material Icons](https://material.io/resources/icons).
///
/// Use with the [Icon] class to show specific icons. Icons are identified by
/// their name as listed below, e.g. [Icons.airplanemode_on].
///
/// Search and find the perfect icon on the [Google Fonts](https://material.io/resources/icons) website.
///
/// To use this class, make sure you set `uses-material-design: true` in your
/// project's `pubspec.yaml` file in the `flutter` section. This ensures that
/// the Material Icons font is included in your application. This font is used to
/// display the icons. For example:
///
/// ```yaml
/// name: my_awesome_application
/// flutter:
///   uses-material-design: true
/// ```
///
/// {@tool snippet}
/// This example shows how to create a [Row] of [Icon]s in different colors and
/// sizes. The first [Icon] uses a [Icon.semanticLabel] to announce in accessibility
/// modes like TalkBack and VoiceOver.
///
/// ![The following code snippet would generate a row of icons consisting of a pink heart, a green musical note, and a blue umbrella, each progressively bigger than the last.](https://flutter.github.io/assets-for-api-docs/assets/widgets/icon.png)
///
/// ```dart
/// Row(
///   mainAxisAlignment: MainAxisAlignment.spaceAround,
///   children: const <Widget>[
///     Icon(
///       Icons.favorite,
///       color: Colors.pink,
///       size: 24.0,
///       semanticLabel: 'Text to announce in accessibility modes',
///     ),
///     Icon(
///       Icons.audiotrack,
///       color: Colors.green,
///       size: 30.0,
///     ),
///     Icon(
///       Icons.beach_access,
///       color: Colors.blue,
///       size: 36.0,
///     ),
///   ],
/// )
/// ```
/// {@end-tool}
///
/// See also:
///
///  * [Icon]
///  * [IconButton]
///  * <https://material.io/resources/icons>
class Icons {
  // This class is not meant to be instantiated or extended; this constructor
  // prevents instantiation and extension.
  Icons._();

  /// A set of platform-adaptive Material Design icons.
  ///
  /// Provides a convenient way to show a certain set of platform-appropriate
  /// icons on Apple platforms.
  ///
  /// Use with the [Icon] class to show specific icons.
  ///
  /// {@tool snippet}
  /// This example shows how to create a share icon that uses the material icon
  /// named "share" on non-Apple platforms, and the icon named "ios share" on
  /// Apple platforms.
  ///
  /// ```dart
  /// Icon(
  ///   Icons.adaptive.share,
  /// )
  /// ```
  /// {@end-tool}
  ///
  /// See also:
  ///
  ///  * [Icon]
  ///  * [IconButton]
  ///  * <https://design.google.com/icons/>
  static PlatformAdaptiveIcons get adaptive => const PlatformAdaptiveIcons._();

  // Generated code: do not hand-edit.
  // See https://github.com/flutter/flutter/wiki/Updating-Material-Design-Fonts-&-Icons
  // BEGIN GENERATED ICONS

  /// <i class="material-icons md-36">10k</i> &#x2014; material icon named "10k".
  static const IconData ten_k = IconData(0xe000, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">10k</i> &#x2014; material icon named "10k" (sharp).
  static const IconData ten_k_sharp = IconData(0xe700, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">10k</i> &#x2014; material icon named "10k" (round).
  static const IconData ten_k_rounded = IconData(0xf4df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">10k</i> &#x2014; material icon named "10k" (outlined).
  static const IconData ten_k_outlined = IconData(0xedf2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">10mp</i> &#x2014; material icon named "10mp".
  static const IconData ten_mp = IconData(0xe001, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">10mp</i> &#x2014; material icon named "10mp" (sharp).
  static const IconData ten_mp_sharp = IconData(0xe701, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">10mp</i> &#x2014; material icon named "10mp" (round).
  static const IconData ten_mp_rounded = IconData(0xf4e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">10mp</i> &#x2014; material icon named "10mp" (outlined).
  static const IconData ten_mp_outlined = IconData(0xedf3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">11mp</i> &#x2014; material icon named "11mp".
  static const IconData eleven_mp = IconData(0xe002, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">11mp</i> &#x2014; material icon named "11mp" (sharp).
  static const IconData eleven_mp_sharp = IconData(0xe702, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">11mp</i> &#x2014; material icon named "11mp" (round).
  static const IconData eleven_mp_rounded = IconData(0xf4e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">11mp</i> &#x2014; material icon named "11mp" (outlined).
  static const IconData eleven_mp_outlined = IconData(0xedf4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">123</i> &#x2014; material icon named "123".
  static const IconData onetwothree = IconData(0xf04b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">123</i> &#x2014; material icon named "123" (sharp).
  static const IconData onetwothree_sharp = IconData(0xf03c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">123</i> &#x2014; material icon named "123" (round).
  static const IconData onetwothree_rounded = IconData(0xe340, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">123</i> &#x2014; material icon named "123" (outlined).
  static const IconData onetwothree_outlined = IconData(0xf05b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">12mp</i> &#x2014; material icon named "12mp".
  static const IconData twelve_mp = IconData(0xe003, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">12mp</i> &#x2014; material icon named "12mp" (sharp).
  static const IconData twelve_mp_sharp = IconData(0xe703, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">12mp</i> &#x2014; material icon named "12mp" (round).
  static const IconData twelve_mp_rounded = IconData(0xf4e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">12mp</i> &#x2014; material icon named "12mp" (outlined).
  static const IconData twelve_mp_outlined = IconData(0xedf5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">13mp</i> &#x2014; material icon named "13mp".
  static const IconData thirteen_mp = IconData(0xe004, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">13mp</i> &#x2014; material icon named "13mp" (sharp).
  static const IconData thirteen_mp_sharp = IconData(0xe704, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">13mp</i> &#x2014; material icon named "13mp" (round).
  static const IconData thirteen_mp_rounded = IconData(0xf4e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">13mp</i> &#x2014; material icon named "13mp" (outlined).
  static const IconData thirteen_mp_outlined = IconData(0xedf6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">14mp</i> &#x2014; material icon named "14mp".
  static const IconData fourteen_mp = IconData(0xe005, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">14mp</i> &#x2014; material icon named "14mp" (sharp).
  static const IconData fourteen_mp_sharp = IconData(0xe705, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">14mp</i> &#x2014; material icon named "14mp" (round).
  static const IconData fourteen_mp_rounded = IconData(0xf4e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">14mp</i> &#x2014; material icon named "14mp" (outlined).
  static const IconData fourteen_mp_outlined = IconData(0xedf7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">15mp</i> &#x2014; material icon named "15mp".
  static const IconData fifteen_mp = IconData(0xe006, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">15mp</i> &#x2014; material icon named "15mp" (sharp).
  static const IconData fifteen_mp_sharp = IconData(0xe706, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">15mp</i> &#x2014; material icon named "15mp" (round).
  static const IconData fifteen_mp_rounded = IconData(0xf4e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">15mp</i> &#x2014; material icon named "15mp" (outlined).
  static const IconData fifteen_mp_outlined = IconData(0xedf8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">16mp</i> &#x2014; material icon named "16mp".
  static const IconData sixteen_mp = IconData(0xe007, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">16mp</i> &#x2014; material icon named "16mp" (sharp).
  static const IconData sixteen_mp_sharp = IconData(0xe707, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">16mp</i> &#x2014; material icon named "16mp" (round).
  static const IconData sixteen_mp_rounded = IconData(0xf4e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">16mp</i> &#x2014; material icon named "16mp" (outlined).
  static const IconData sixteen_mp_outlined = IconData(0xedf9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">17mp</i> &#x2014; material icon named "17mp".
  static const IconData seventeen_mp = IconData(0xe008, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">17mp</i> &#x2014; material icon named "17mp" (sharp).
  static const IconData seventeen_mp_sharp = IconData(0xe708, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">17mp</i> &#x2014; material icon named "17mp" (round).
  static const IconData seventeen_mp_rounded = IconData(0xf4e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">17mp</i> &#x2014; material icon named "17mp" (outlined).
  static const IconData seventeen_mp_outlined = IconData(0xedfa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">18_up_rating</i> &#x2014; material icon named "18 up rating".
  static const IconData eighteen_up_rating = IconData(0xf0784, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">18_up_rating</i> &#x2014; material icon named "18 up rating" (sharp).
  static const IconData eighteen_up_rating_sharp = IconData(0xf072c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">18_up_rating</i> &#x2014; material icon named "18 up rating" (round).
  static const IconData eighteen_up_rating_rounded = IconData(0xf07dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">18_up_rating</i> &#x2014; material icon named "18 up rating" (outlined).
  static const IconData eighteen_up_rating_outlined = IconData(0xf06d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">18mp</i> &#x2014; material icon named "18mp".
  static const IconData eighteen_mp = IconData(0xe009, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">18mp</i> &#x2014; material icon named "18mp" (sharp).
  static const IconData eighteen_mp_sharp = IconData(0xe709, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">18mp</i> &#x2014; material icon named "18mp" (round).
  static const IconData eighteen_mp_rounded = IconData(0xf4e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">18mp</i> &#x2014; material icon named "18mp" (outlined).
  static const IconData eighteen_mp_outlined = IconData(0xedfb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">19mp</i> &#x2014; material icon named "19mp".
  static const IconData nineteen_mp = IconData(0xe00a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">19mp</i> &#x2014; material icon named "19mp" (sharp).
  static const IconData nineteen_mp_sharp = IconData(0xe70a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">19mp</i> &#x2014; material icon named "19mp" (round).
  static const IconData nineteen_mp_rounded = IconData(0xf4e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">19mp</i> &#x2014; material icon named "19mp" (outlined).
  static const IconData nineteen_mp_outlined = IconData(0xedfc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">1k</i> &#x2014; material icon named "1k".
  static const IconData one_k = IconData(0xe00b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">1k</i> &#x2014; material icon named "1k" (sharp).
  static const IconData one_k_sharp = IconData(0xe70c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">1k</i> &#x2014; material icon named "1k" (round).
  static const IconData one_k_rounded = IconData(0xf4eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">1k</i> &#x2014; material icon named "1k" (outlined).
  static const IconData one_k_outlined = IconData(0xedfd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">1k_plus</i> &#x2014; material icon named "1k plus".
  static const IconData one_k_plus = IconData(0xe00c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">1k_plus</i> &#x2014; material icon named "1k plus" (sharp).
  static const IconData one_k_plus_sharp = IconData(0xe70b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">1k_plus</i> &#x2014; material icon named "1k plus" (round).
  static const IconData one_k_plus_rounded = IconData(0xf4ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">1k_plus</i> &#x2014; material icon named "1k plus" (outlined).
  static const IconData one_k_plus_outlined = IconData(0xedfe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">1x_mobiledata</i> &#x2014; material icon named "1x mobiledata".
  static const IconData one_x_mobiledata = IconData(0xe00d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">1x_mobiledata</i> &#x2014; material icon named "1x mobiledata" (sharp).
  static const IconData one_x_mobiledata_sharp = IconData(0xe70d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">1x_mobiledata</i> &#x2014; material icon named "1x mobiledata" (round).
  static const IconData one_x_mobiledata_rounded = IconData(0xf4ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">1x_mobiledata</i> &#x2014; material icon named "1x mobiledata" (outlined).
  static const IconData one_x_mobiledata_outlined = IconData(0xedff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">20mp</i> &#x2014; material icon named "20mp".
  static const IconData twenty_mp = IconData(0xe00e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">20mp</i> &#x2014; material icon named "20mp" (sharp).
  static const IconData twenty_mp_sharp = IconData(0xe70e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">20mp</i> &#x2014; material icon named "20mp" (round).
  static const IconData twenty_mp_rounded = IconData(0xf4ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">20mp</i> &#x2014; material icon named "20mp" (outlined).
  static const IconData twenty_mp_outlined = IconData(0xee00, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">21mp</i> &#x2014; material icon named "21mp".
  static const IconData twenty_one_mp = IconData(0xe00f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">21mp</i> &#x2014; material icon named "21mp" (sharp).
  static const IconData twenty_one_mp_sharp = IconData(0xe70f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">21mp</i> &#x2014; material icon named "21mp" (round).
  static const IconData twenty_one_mp_rounded = IconData(0xf4ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">21mp</i> &#x2014; material icon named "21mp" (outlined).
  static const IconData twenty_one_mp_outlined = IconData(0xee01, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">22mp</i> &#x2014; material icon named "22mp".
  static const IconData twenty_two_mp = IconData(0xe010, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">22mp</i> &#x2014; material icon named "22mp" (sharp).
  static const IconData twenty_two_mp_sharp = IconData(0xe710, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">22mp</i> &#x2014; material icon named "22mp" (round).
  static const IconData twenty_two_mp_rounded = IconData(0xf4ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">22mp</i> &#x2014; material icon named "22mp" (outlined).
  static const IconData twenty_two_mp_outlined = IconData(0xee02, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">23mp</i> &#x2014; material icon named "23mp".
  static const IconData twenty_three_mp = IconData(0xe011, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">23mp</i> &#x2014; material icon named "23mp" (sharp).
  static const IconData twenty_three_mp_sharp = IconData(0xe711, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">23mp</i> &#x2014; material icon named "23mp" (round).
  static const IconData twenty_three_mp_rounded = IconData(0xf4f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">23mp</i> &#x2014; material icon named "23mp" (outlined).
  static const IconData twenty_three_mp_outlined = IconData(0xee03, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">24mp</i> &#x2014; material icon named "24mp".
  static const IconData twenty_four_mp = IconData(0xe012, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">24mp</i> &#x2014; material icon named "24mp" (sharp).
  static const IconData twenty_four_mp_sharp = IconData(0xe712, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">24mp</i> &#x2014; material icon named "24mp" (round).
  static const IconData twenty_four_mp_rounded = IconData(0xf4f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">24mp</i> &#x2014; material icon named "24mp" (outlined).
  static const IconData twenty_four_mp_outlined = IconData(0xee04, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">2k</i> &#x2014; material icon named "2k".
  static const IconData two_k = IconData(0xe013, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">2k</i> &#x2014; material icon named "2k" (sharp).
  static const IconData two_k_sharp = IconData(0xe714, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">2k</i> &#x2014; material icon named "2k" (round).
  static const IconData two_k_rounded = IconData(0xf4f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">2k</i> &#x2014; material icon named "2k" (outlined).
  static const IconData two_k_outlined = IconData(0xee05, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">2k_plus</i> &#x2014; material icon named "2k plus".
  static const IconData two_k_plus = IconData(0xe014, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">2k_plus</i> &#x2014; material icon named "2k plus" (sharp).
  static const IconData two_k_plus_sharp = IconData(0xe713, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">2k_plus</i> &#x2014; material icon named "2k plus" (round).
  static const IconData two_k_plus_rounded = IconData(0xf4f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">2k_plus</i> &#x2014; material icon named "2k plus" (outlined).
  static const IconData two_k_plus_outlined = IconData(0xee06, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">2mp</i> &#x2014; material icon named "2mp".
  static const IconData two_mp = IconData(0xe015, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">2mp</i> &#x2014; material icon named "2mp" (sharp).
  static const IconData two_mp_sharp = IconData(0xe715, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">2mp</i> &#x2014; material icon named "2mp" (round).
  static const IconData two_mp_rounded = IconData(0xf4f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">2mp</i> &#x2014; material icon named "2mp" (outlined).
  static const IconData two_mp_outlined = IconData(0xee07, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">30fps</i> &#x2014; material icon named "30fps".
  static const IconData thirty_fps = IconData(0xe016, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">30fps</i> &#x2014; material icon named "30fps" (sharp).
  static const IconData thirty_fps_sharp = IconData(0xe717, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">30fps</i> &#x2014; material icon named "30fps" (round).
  static const IconData thirty_fps_rounded = IconData(0xf4f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">30fps</i> &#x2014; material icon named "30fps" (outlined).
  static const IconData thirty_fps_outlined = IconData(0xee08, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">30fps_select</i> &#x2014; material icon named "30fps select".
  static const IconData thirty_fps_select = IconData(0xe017, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">30fps_select</i> &#x2014; material icon named "30fps select" (sharp).
  static const IconData thirty_fps_select_sharp = IconData(0xe716, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">30fps_select</i> &#x2014; material icon named "30fps select" (round).
  static const IconData thirty_fps_select_rounded = IconData(0xf4f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">30fps_select</i> &#x2014; material icon named "30fps select" (outlined).
  static const IconData thirty_fps_select_outlined = IconData(0xee09, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">360</i> &#x2014; material icon named "360".
  static const IconData threesixty = IconData(0xe018, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">360</i> &#x2014; material icon named "360" (sharp).
  static const IconData threesixty_sharp = IconData(0xe718, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">360</i> &#x2014; material icon named "360" (round).
  static const IconData threesixty_rounded = IconData(0xf4f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">360</i> &#x2014; material icon named "360" (outlined).
  static const IconData threesixty_outlined = IconData(0xee0a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">3d_rotation</i> &#x2014; material icon named "3d rotation".
  static const IconData threed_rotation = IconData(0xe019, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">3d_rotation</i> &#x2014; material icon named "3d rotation" (sharp).
  static const IconData threed_rotation_sharp = IconData(0xe719, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">3d_rotation</i> &#x2014; material icon named "3d rotation" (round).
  static const IconData threed_rotation_rounded = IconData(0xf4f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">3d_rotation</i> &#x2014; material icon named "3d rotation" (outlined).
  static const IconData threed_rotation_outlined = IconData(0xee0b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">3g_mobiledata</i> &#x2014; material icon named "3g mobiledata".
  static const IconData three_g_mobiledata = IconData(0xe01a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">3g_mobiledata</i> &#x2014; material icon named "3g mobiledata" (sharp).
  static const IconData three_g_mobiledata_sharp = IconData(0xe71a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">3g_mobiledata</i> &#x2014; material icon named "3g mobiledata" (round).
  static const IconData three_g_mobiledata_rounded = IconData(0xf4f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">3g_mobiledata</i> &#x2014; material icon named "3g mobiledata" (outlined).
  static const IconData three_g_mobiledata_outlined = IconData(0xee0c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">3k</i> &#x2014; material icon named "3k".
  static const IconData three_k = IconData(0xe01b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">3k</i> &#x2014; material icon named "3k" (sharp).
  static const IconData three_k_sharp = IconData(0xe71c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">3k</i> &#x2014; material icon named "3k" (round).
  static const IconData three_k_rounded = IconData(0xf4fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">3k</i> &#x2014; material icon named "3k" (outlined).
  static const IconData three_k_outlined = IconData(0xee0d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">3k_plus</i> &#x2014; material icon named "3k plus".
  static const IconData three_k_plus = IconData(0xe01c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">3k_plus</i> &#x2014; material icon named "3k plus" (sharp).
  static const IconData three_k_plus_sharp = IconData(0xe71b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">3k_plus</i> &#x2014; material icon named "3k plus" (round).
  static const IconData three_k_plus_rounded = IconData(0xf4fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">3k_plus</i> &#x2014; material icon named "3k plus" (outlined).
  static const IconData three_k_plus_outlined = IconData(0xee0e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">3mp</i> &#x2014; material icon named "3mp".
  static const IconData three_mp = IconData(0xe01d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">3mp</i> &#x2014; material icon named "3mp" (sharp).
  static const IconData three_mp_sharp = IconData(0xe71d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">3mp</i> &#x2014; material icon named "3mp" (round).
  static const IconData three_mp_rounded = IconData(0xf4fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">3mp</i> &#x2014; material icon named "3mp" (outlined).
  static const IconData three_mp_outlined = IconData(0xee0f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">3p</i> &#x2014; material icon named "3p".
  static const IconData three_p = IconData(0xe01e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">3p</i> &#x2014; material icon named "3p" (sharp).
  static const IconData three_p_sharp = IconData(0xe71e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">3p</i> &#x2014; material icon named "3p" (round).
  static const IconData three_p_rounded = IconData(0xf4fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">3p</i> &#x2014; material icon named "3p" (outlined).
  static const IconData three_p_outlined = IconData(0xee10, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">4g_mobiledata</i> &#x2014; material icon named "4g mobiledata".
  static const IconData four_g_mobiledata = IconData(0xe01f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">4g_mobiledata</i> &#x2014; material icon named "4g mobiledata" (sharp).
  static const IconData four_g_mobiledata_sharp = IconData(0xe71f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">4g_mobiledata</i> &#x2014; material icon named "4g mobiledata" (round).
  static const IconData four_g_mobiledata_rounded = IconData(0xf4fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">4g_mobiledata</i> &#x2014; material icon named "4g mobiledata" (outlined).
  static const IconData four_g_mobiledata_outlined = IconData(0xee11, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">4g_plus_mobiledata</i> &#x2014; material icon named "4g plus mobiledata".
  static const IconData four_g_plus_mobiledata = IconData(0xe020, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">4g_plus_mobiledata</i> &#x2014; material icon named "4g plus mobiledata" (sharp).
  static const IconData four_g_plus_mobiledata_sharp = IconData(0xe720, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">4g_plus_mobiledata</i> &#x2014; material icon named "4g plus mobiledata" (round).
  static const IconData four_g_plus_mobiledata_rounded = IconData(0xf4ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">4g_plus_mobiledata</i> &#x2014; material icon named "4g plus mobiledata" (outlined).
  static const IconData four_g_plus_mobiledata_outlined = IconData(0xee12, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">4k</i> &#x2014; material icon named "4k".
  static const IconData four_k = IconData(0xe021, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">4k</i> &#x2014; material icon named "4k" (sharp).
  static const IconData four_k_sharp = IconData(0xe722, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">4k</i> &#x2014; material icon named "4k" (round).
  static const IconData four_k_rounded = IconData(0xf501, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">4k</i> &#x2014; material icon named "4k" (outlined).
  static const IconData four_k_outlined = IconData(0xee13, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">4k_plus</i> &#x2014; material icon named "4k plus".
  static const IconData four_k_plus = IconData(0xe022, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">4k_plus</i> &#x2014; material icon named "4k plus" (sharp).
  static const IconData four_k_plus_sharp = IconData(0xe721, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">4k_plus</i> &#x2014; material icon named "4k plus" (round).
  static const IconData four_k_plus_rounded = IconData(0xf500, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">4k_plus</i> &#x2014; material icon named "4k plus" (outlined).
  static const IconData four_k_plus_outlined = IconData(0xee14, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">4mp</i> &#x2014; material icon named "4mp".
  static const IconData four_mp = IconData(0xe023, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">4mp</i> &#x2014; material icon named "4mp" (sharp).
  static const IconData four_mp_sharp = IconData(0xe723, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">4mp</i> &#x2014; material icon named "4mp" (round).
  static const IconData four_mp_rounded = IconData(0xf502, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">4mp</i> &#x2014; material icon named "4mp" (outlined).
  static const IconData four_mp_outlined = IconData(0xee15, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">5g</i> &#x2014; material icon named "5g".
  static const IconData five_g = IconData(0xe024, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">5g</i> &#x2014; material icon named "5g" (sharp).
  static const IconData five_g_sharp = IconData(0xe724, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">5g</i> &#x2014; material icon named "5g" (round).
  static const IconData five_g_rounded = IconData(0xf503, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">5g</i> &#x2014; material icon named "5g" (outlined).
  static const IconData five_g_outlined = IconData(0xee16, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">5k</i> &#x2014; material icon named "5k".
  static const IconData five_k = IconData(0xe025, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">5k</i> &#x2014; material icon named "5k" (sharp).
  static const IconData five_k_sharp = IconData(0xe726, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">5k</i> &#x2014; material icon named "5k" (round).
  static const IconData five_k_rounded = IconData(0xf505, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">5k</i> &#x2014; material icon named "5k" (outlined).
  static const IconData five_k_outlined = IconData(0xee17, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">5k_plus</i> &#x2014; material icon named "5k plus".
  static const IconData five_k_plus = IconData(0xe026, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">5k_plus</i> &#x2014; material icon named "5k plus" (sharp).
  static const IconData five_k_plus_sharp = IconData(0xe725, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">5k_plus</i> &#x2014; material icon named "5k plus" (round).
  static const IconData five_k_plus_rounded = IconData(0xf504, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">5k_plus</i> &#x2014; material icon named "5k plus" (outlined).
  static const IconData five_k_plus_outlined = IconData(0xee18, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">5mp</i> &#x2014; material icon named "5mp".
  static const IconData five_mp = IconData(0xe027, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">5mp</i> &#x2014; material icon named "5mp" (sharp).
  static const IconData five_mp_sharp = IconData(0xe727, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">5mp</i> &#x2014; material icon named "5mp" (round).
  static const IconData five_mp_rounded = IconData(0xf506, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">5mp</i> &#x2014; material icon named "5mp" (outlined).
  static const IconData five_mp_outlined = IconData(0xee19, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">60fps</i> &#x2014; material icon named "60fps".
  static const IconData sixty_fps = IconData(0xe028, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">60fps</i> &#x2014; material icon named "60fps" (sharp).
  static const IconData sixty_fps_sharp = IconData(0xe729, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">60fps</i> &#x2014; material icon named "60fps" (round).
  static const IconData sixty_fps_rounded = IconData(0xf507, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">60fps</i> &#x2014; material icon named "60fps" (outlined).
  static const IconData sixty_fps_outlined = IconData(0xee1a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">60fps_select</i> &#x2014; material icon named "60fps select".
  static const IconData sixty_fps_select = IconData(0xe029, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">60fps_select</i> &#x2014; material icon named "60fps select" (sharp).
  static const IconData sixty_fps_select_sharp = IconData(0xe728, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">60fps_select</i> &#x2014; material icon named "60fps select" (round).
  static const IconData sixty_fps_select_rounded = IconData(0xf508, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">60fps_select</i> &#x2014; material icon named "60fps select" (outlined).
  static const IconData sixty_fps_select_outlined = IconData(0xee1b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">6_ft_apart</i> &#x2014; material icon named "6 ft apart".
  static const IconData six_ft_apart = IconData(0xe02a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">6_ft_apart</i> &#x2014; material icon named "6 ft apart" (sharp).
  static const IconData six_ft_apart_sharp = IconData(0xe72a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">6_ft_apart</i> &#x2014; material icon named "6 ft apart" (round).
  static const IconData six_ft_apart_rounded = IconData(0xf509, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">6_ft_apart</i> &#x2014; material icon named "6 ft apart" (outlined).
  static const IconData six_ft_apart_outlined = IconData(0xee1c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">6k</i> &#x2014; material icon named "6k".
  static const IconData six_k = IconData(0xe02b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">6k</i> &#x2014; material icon named "6k" (sharp).
  static const IconData six_k_sharp = IconData(0xe72c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">6k</i> &#x2014; material icon named "6k" (round).
  static const IconData six_k_rounded = IconData(0xf50b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">6k</i> &#x2014; material icon named "6k" (outlined).
  static const IconData six_k_outlined = IconData(0xee1d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">6k_plus</i> &#x2014; material icon named "6k plus".
  static const IconData six_k_plus = IconData(0xe02c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">6k_plus</i> &#x2014; material icon named "6k plus" (sharp).
  static const IconData six_k_plus_sharp = IconData(0xe72b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">6k_plus</i> &#x2014; material icon named "6k plus" (round).
  static const IconData six_k_plus_rounded = IconData(0xf50a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">6k_plus</i> &#x2014; material icon named "6k plus" (outlined).
  static const IconData six_k_plus_outlined = IconData(0xee1e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">6mp</i> &#x2014; material icon named "6mp".
  static const IconData six_mp = IconData(0xe02d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">6mp</i> &#x2014; material icon named "6mp" (sharp).
  static const IconData six_mp_sharp = IconData(0xe72d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">6mp</i> &#x2014; material icon named "6mp" (round).
  static const IconData six_mp_rounded = IconData(0xf50c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">6mp</i> &#x2014; material icon named "6mp" (outlined).
  static const IconData six_mp_outlined = IconData(0xee1f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">7k</i> &#x2014; material icon named "7k".
  static const IconData seven_k = IconData(0xe02e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">7k</i> &#x2014; material icon named "7k" (sharp).
  static const IconData seven_k_sharp = IconData(0xe72f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">7k</i> &#x2014; material icon named "7k" (round).
  static const IconData seven_k_rounded = IconData(0xf50e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">7k</i> &#x2014; material icon named "7k" (outlined).
  static const IconData seven_k_outlined = IconData(0xee20, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">7k_plus</i> &#x2014; material icon named "7k plus".
  static const IconData seven_k_plus = IconData(0xe02f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">7k_plus</i> &#x2014; material icon named "7k plus" (sharp).
  static const IconData seven_k_plus_sharp = IconData(0xe72e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">7k_plus</i> &#x2014; material icon named "7k plus" (round).
  static const IconData seven_k_plus_rounded = IconData(0xf50d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">7k_plus</i> &#x2014; material icon named "7k plus" (outlined).
  static const IconData seven_k_plus_outlined = IconData(0xee21, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">7mp</i> &#x2014; material icon named "7mp".
  static const IconData seven_mp = IconData(0xe030, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">7mp</i> &#x2014; material icon named "7mp" (sharp).
  static const IconData seven_mp_sharp = IconData(0xe730, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">7mp</i> &#x2014; material icon named "7mp" (round).
  static const IconData seven_mp_rounded = IconData(0xf50f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">7mp</i> &#x2014; material icon named "7mp" (outlined).
  static const IconData seven_mp_outlined = IconData(0xee22, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">8k</i> &#x2014; material icon named "8k".
  static const IconData eight_k = IconData(0xe031, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">8k</i> &#x2014; material icon named "8k" (sharp).
  static const IconData eight_k_sharp = IconData(0xe732, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">8k</i> &#x2014; material icon named "8k" (round).
  static const IconData eight_k_rounded = IconData(0xf511, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">8k</i> &#x2014; material icon named "8k" (outlined).
  static const IconData eight_k_outlined = IconData(0xee23, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">8k_plus</i> &#x2014; material icon named "8k plus".
  static const IconData eight_k_plus = IconData(0xe032, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">8k_plus</i> &#x2014; material icon named "8k plus" (sharp).
  static const IconData eight_k_plus_sharp = IconData(0xe731, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">8k_plus</i> &#x2014; material icon named "8k plus" (round).
  static const IconData eight_k_plus_rounded = IconData(0xf510, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">8k_plus</i> &#x2014; material icon named "8k plus" (outlined).
  static const IconData eight_k_plus_outlined = IconData(0xee24, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">8mp</i> &#x2014; material icon named "8mp".
  static const IconData eight_mp = IconData(0xe033, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">8mp</i> &#x2014; material icon named "8mp" (sharp).
  static const IconData eight_mp_sharp = IconData(0xe733, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">8mp</i> &#x2014; material icon named "8mp" (round).
  static const IconData eight_mp_rounded = IconData(0xf512, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">8mp</i> &#x2014; material icon named "8mp" (outlined).
  static const IconData eight_mp_outlined = IconData(0xee25, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">9k</i> &#x2014; material icon named "9k".
  static const IconData nine_k = IconData(0xe034, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">9k</i> &#x2014; material icon named "9k" (sharp).
  static const IconData nine_k_sharp = IconData(0xe735, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">9k</i> &#x2014; material icon named "9k" (round).
  static const IconData nine_k_rounded = IconData(0xf514, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">9k</i> &#x2014; material icon named "9k" (outlined).
  static const IconData nine_k_outlined = IconData(0xee26, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">9k_plus</i> &#x2014; material icon named "9k plus".
  static const IconData nine_k_plus = IconData(0xe035, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">9k_plus</i> &#x2014; material icon named "9k plus" (sharp).
  static const IconData nine_k_plus_sharp = IconData(0xe734, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">9k_plus</i> &#x2014; material icon named "9k plus" (round).
  static const IconData nine_k_plus_rounded = IconData(0xf513, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">9k_plus</i> &#x2014; material icon named "9k plus" (outlined).
  static const IconData nine_k_plus_outlined = IconData(0xee27, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">9mp</i> &#x2014; material icon named "9mp".
  static const IconData nine_mp = IconData(0xe036, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">9mp</i> &#x2014; material icon named "9mp" (sharp).
  static const IconData nine_mp_sharp = IconData(0xe736, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">9mp</i> &#x2014; material icon named "9mp" (round).
  static const IconData nine_mp_rounded = IconData(0xf515, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">9mp</i> &#x2014; material icon named "9mp" (outlined).
  static const IconData nine_mp_outlined = IconData(0xee28, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">abc</i> &#x2014; material icon named "abc".
  static const IconData abc = IconData(0xf04b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">abc</i> &#x2014; material icon named "abc" (sharp).
  static const IconData abc_sharp = IconData(0xf03c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">abc</i> &#x2014; material icon named "abc" (round).
  static const IconData abc_rounded = IconData(0xe4c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">abc</i> &#x2014; material icon named "abc" (outlined).
  static const IconData abc_outlined = IconData(0xf05b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ac_unit</i> &#x2014; material icon named "ac unit".
  static const IconData ac_unit = IconData(0xe037, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ac_unit</i> &#x2014; material icon named "ac unit" (sharp).
  static const IconData ac_unit_sharp = IconData(0xe737, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ac_unit</i> &#x2014; material icon named "ac unit" (round).
  static const IconData ac_unit_rounded = IconData(0xf516, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ac_unit</i> &#x2014; material icon named "ac unit" (outlined).
  static const IconData ac_unit_outlined = IconData(0xee29, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">access_alarm</i> &#x2014; material icon named "access alarm".
  static const IconData access_alarm = IconData(0xe038, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">access_alarm</i> &#x2014; material icon named "access alarm" (sharp).
  static const IconData access_alarm_sharp = IconData(0xe738, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">access_alarm</i> &#x2014; material icon named "access alarm" (round).
  static const IconData access_alarm_rounded = IconData(0xf517, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">access_alarm</i> &#x2014; material icon named "access alarm" (outlined).
  static const IconData access_alarm_outlined = IconData(0xee2a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">access_alarms</i> &#x2014; material icon named "access alarms".
  static const IconData access_alarms = IconData(0xe039, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">access_alarms</i> &#x2014; material icon named "access alarms" (sharp).
  static const IconData access_alarms_sharp = IconData(0xe739, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">access_alarms</i> &#x2014; material icon named "access alarms" (round).
  static const IconData access_alarms_rounded = IconData(0xf518, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">access_alarms</i> &#x2014; material icon named "access alarms" (outlined).
  static const IconData access_alarms_outlined = IconData(0xee2b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">access_time</i> &#x2014; material icon named "access time".
  static const IconData access_time = IconData(0xe03a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">access_time</i> &#x2014; material icon named "access time" (sharp).
  static const IconData access_time_sharp = IconData(0xe73b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">access_time</i> &#x2014; material icon named "access time" (round).
  static const IconData access_time_rounded = IconData(0xf51a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">access_time</i> &#x2014; material icon named "access time" (outlined).
  static const IconData access_time_outlined = IconData(0xee2d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">access_time_filled</i> &#x2014; material icon named "access time filled".
  static const IconData access_time_filled = IconData(0xe03b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">access_time_filled</i> &#x2014; material icon named "access time filled" (sharp).
  static const IconData access_time_filled_sharp = IconData(0xe73a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">access_time_filled</i> &#x2014; material icon named "access time filled" (round).
  static const IconData access_time_filled_rounded = IconData(0xf519, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">access_time_filled</i> &#x2014; material icon named "access time filled" (outlined).
  static const IconData access_time_filled_outlined = IconData(0xee2c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">accessibility</i> &#x2014; material icon named "accessibility".
  static const IconData accessibility = IconData(0xe03c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">accessibility</i> &#x2014; material icon named "accessibility" (sharp).
  static const IconData accessibility_sharp = IconData(0xe73d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">accessibility</i> &#x2014; material icon named "accessibility" (round).
  static const IconData accessibility_rounded = IconData(0xf51c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">accessibility</i> &#x2014; material icon named "accessibility" (outlined).
  static const IconData accessibility_outlined = IconData(0xee2f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">accessibility_new</i> &#x2014; material icon named "accessibility new".
  static const IconData accessibility_new = IconData(0xe03d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">accessibility_new</i> &#x2014; material icon named "accessibility new" (sharp).
  static const IconData accessibility_new_sharp = IconData(0xe73c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">accessibility_new</i> &#x2014; material icon named "accessibility new" (round).
  static const IconData accessibility_new_rounded = IconData(0xf51b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">accessibility_new</i> &#x2014; material icon named "accessibility new" (outlined).
  static const IconData accessibility_new_outlined = IconData(0xee2e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">accessible</i> &#x2014; material icon named "accessible".
  static const IconData accessible = IconData(0xe03e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">accessible</i> &#x2014; material icon named "accessible" (sharp).
  static const IconData accessible_sharp = IconData(0xe73f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">accessible</i> &#x2014; material icon named "accessible" (round).
  static const IconData accessible_rounded = IconData(0xf51e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">accessible</i> &#x2014; material icon named "accessible" (outlined).
  static const IconData accessible_outlined = IconData(0xee31, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">accessible_forward</i> &#x2014; material icon named "accessible forward".
  static const IconData accessible_forward = IconData(0xe03f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">accessible_forward</i> &#x2014; material icon named "accessible forward" (sharp).
  static const IconData accessible_forward_sharp = IconData(0xe73e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">accessible_forward</i> &#x2014; material icon named "accessible forward" (round).
  static const IconData accessible_forward_rounded = IconData(0xf51d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">accessible_forward</i> &#x2014; material icon named "accessible forward" (outlined).
  static const IconData accessible_forward_outlined = IconData(0xee30, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">account_balance</i> &#x2014; material icon named "account balance".
  static const IconData account_balance = IconData(0xe040, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">account_balance</i> &#x2014; material icon named "account balance" (sharp).
  static const IconData account_balance_sharp = IconData(0xe740, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">account_balance</i> &#x2014; material icon named "account balance" (round).
  static const IconData account_balance_rounded = IconData(0xf51f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">account_balance</i> &#x2014; material icon named "account balance" (outlined).
  static const IconData account_balance_outlined = IconData(0xee32, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">account_balance_wallet</i> &#x2014; material icon named "account balance wallet".
  static const IconData account_balance_wallet = IconData(0xe041, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">account_balance_wallet</i> &#x2014; material icon named "account balance wallet" (sharp).
  static const IconData account_balance_wallet_sharp = IconData(0xe741, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">account_balance_wallet</i> &#x2014; material icon named "account balance wallet" (round).
  static const IconData account_balance_wallet_rounded = IconData(0xf520, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">account_balance_wallet</i> &#x2014; material icon named "account balance wallet" (outlined).
  static const IconData account_balance_wallet_outlined = IconData(0xee33, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">account_box</i> &#x2014; material icon named "account box".
  static const IconData account_box = IconData(0xe042, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">account_box</i> &#x2014; material icon named "account box" (sharp).
  static const IconData account_box_sharp = IconData(0xe742, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">account_box</i> &#x2014; material icon named "account box" (round).
  static const IconData account_box_rounded = IconData(0xf521, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">account_box</i> &#x2014; material icon named "account box" (outlined).
  static const IconData account_box_outlined = IconData(0xee34, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">account_circle</i> &#x2014; material icon named "account circle".
  static const IconData account_circle = IconData(0xe043, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">account_circle</i> &#x2014; material icon named "account circle" (sharp).
  static const IconData account_circle_sharp = IconData(0xe743, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">account_circle</i> &#x2014; material icon named "account circle" (round).
  static const IconData account_circle_rounded = IconData(0xf522, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">account_circle</i> &#x2014; material icon named "account circle" (outlined).
  static const IconData account_circle_outlined = IconData(0xee35, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">account_tree</i> &#x2014; material icon named "account tree".
  static const IconData account_tree = IconData(0xe044, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">account_tree</i> &#x2014; material icon named "account tree" (sharp).
  static const IconData account_tree_sharp = IconData(0xe744, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">account_tree</i> &#x2014; material icon named "account tree" (round).
  static const IconData account_tree_rounded = IconData(0xf523, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">account_tree</i> &#x2014; material icon named "account tree" (outlined).
  static const IconData account_tree_outlined = IconData(0xee36, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ad_units</i> &#x2014; material icon named "ad units".
  static const IconData ad_units = IconData(0xe045, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ad_units</i> &#x2014; material icon named "ad units" (sharp).
  static const IconData ad_units_sharp = IconData(0xe745, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ad_units</i> &#x2014; material icon named "ad units" (round).
  static const IconData ad_units_rounded = IconData(0xf524, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ad_units</i> &#x2014; material icon named "ad units" (outlined).
  static const IconData ad_units_outlined = IconData(0xee37, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">adb</i> &#x2014; material icon named "adb".
  static const IconData adb = IconData(0xe046, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">adb</i> &#x2014; material icon named "adb" (sharp).
  static const IconData adb_sharp = IconData(0xe746, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">adb</i> &#x2014; material icon named "adb" (round).
  static const IconData adb_rounded = IconData(0xf525, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">adb</i> &#x2014; material icon named "adb" (outlined).
  static const IconData adb_outlined = IconData(0xee38, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add</i> &#x2014; material icon named "add".
  static const IconData add = IconData(0xe047, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add</i> &#x2014; material icon named "add" (sharp).
  static const IconData add_sharp = IconData(0xe758, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add</i> &#x2014; material icon named "add" (round).
  static const IconData add_rounded = IconData(0xf537, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add</i> &#x2014; material icon named "add" (outlined).
  static const IconData add_outlined = IconData(0xee47, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_a_photo</i> &#x2014; material icon named "add a photo".
  static const IconData add_a_photo = IconData(0xe048, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_a_photo</i> &#x2014; material icon named "add a photo" (sharp).
  static const IconData add_a_photo_sharp = IconData(0xe747, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_a_photo</i> &#x2014; material icon named "add a photo" (round).
  static const IconData add_a_photo_rounded = IconData(0xf526, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_a_photo</i> &#x2014; material icon named "add a photo" (outlined).
  static const IconData add_a_photo_outlined = IconData(0xee39, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_alarm</i> &#x2014; material icon named "add alarm".
  static const IconData add_alarm = IconData(0xe049, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_alarm</i> &#x2014; material icon named "add alarm" (sharp).
  static const IconData add_alarm_sharp = IconData(0xe748, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_alarm</i> &#x2014; material icon named "add alarm" (round).
  static const IconData add_alarm_rounded = IconData(0xf527, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_alarm</i> &#x2014; material icon named "add alarm" (outlined).
  static const IconData add_alarm_outlined = IconData(0xee3a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_alert</i> &#x2014; material icon named "add alert".
  static const IconData add_alert = IconData(0xe04a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_alert</i> &#x2014; material icon named "add alert" (sharp).
  static const IconData add_alert_sharp = IconData(0xe749, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_alert</i> &#x2014; material icon named "add alert" (round).
  static const IconData add_alert_rounded = IconData(0xf528, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_alert</i> &#x2014; material icon named "add alert" (outlined).
  static const IconData add_alert_outlined = IconData(0xee3b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_box</i> &#x2014; material icon named "add box".
  static const IconData add_box = IconData(0xe04b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_box</i> &#x2014; material icon named "add box" (sharp).
  static const IconData add_box_sharp = IconData(0xe74a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_box</i> &#x2014; material icon named "add box" (round).
  static const IconData add_box_rounded = IconData(0xf529, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_box</i> &#x2014; material icon named "add box" (outlined).
  static const IconData add_box_outlined = IconData(0xee3c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_business</i> &#x2014; material icon named "add business".
  static const IconData add_business = IconData(0xe04c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_business</i> &#x2014; material icon named "add business" (sharp).
  static const IconData add_business_sharp = IconData(0xe74b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_business</i> &#x2014; material icon named "add business" (round).
  static const IconData add_business_rounded = IconData(0xf52a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_business</i> &#x2014; material icon named "add business" (outlined).
  static const IconData add_business_outlined = IconData(0xee3d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_call</i> &#x2014; material icon named "add call".
  static const IconData add_call = IconData(0xe04d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_card</i> &#x2014; material icon named "add card".
  static const IconData add_card = IconData(0xf04b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_card</i> &#x2014; material icon named "add card" (sharp).
  static const IconData add_card_sharp = IconData(0xf03c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_card</i> &#x2014; material icon named "add card" (round).
  static const IconData add_card_rounded = IconData(0xf02d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_card</i> &#x2014; material icon named "add card" (outlined).
  static const IconData add_card_outlined = IconData(0xf05b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_chart</i> &#x2014; material icon named "add chart".
  static const IconData add_chart = IconData(0xe04e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_chart</i> &#x2014; material icon named "add chart" (sharp).
  static const IconData add_chart_sharp = IconData(0xe74c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_chart</i> &#x2014; material icon named "add chart" (round).
  static const IconData add_chart_rounded = IconData(0xf52b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_chart</i> &#x2014; material icon named "add chart" (outlined).
  static const IconData add_chart_outlined = IconData(0xee3e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_circle</i> &#x2014; material icon named "add circle".
  static const IconData add_circle = IconData(0xe04f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_circle</i> &#x2014; material icon named "add circle" (sharp).
  static const IconData add_circle_sharp = IconData(0xe74e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_circle</i> &#x2014; material icon named "add circle" (round).
  static const IconData add_circle_rounded = IconData(0xf52d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_circle</i> &#x2014; material icon named "add circle" (outlined).
  static const IconData add_circle_outlined = IconData(0xee40, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_circle_outline</i> &#x2014; material icon named "add circle outline".
  static const IconData add_circle_outline = IconData(0xe050, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_circle_outline</i> &#x2014; material icon named "add circle outline" (sharp).
  static const IconData add_circle_outline_sharp = IconData(0xe74d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_circle_outline</i> &#x2014; material icon named "add circle outline" (round).
  static const IconData add_circle_outline_rounded = IconData(0xf52c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_circle_outline</i> &#x2014; material icon named "add circle outline" (outlined).
  static const IconData add_circle_outline_outlined = IconData(0xee3f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_comment</i> &#x2014; material icon named "add comment".
  static const IconData add_comment = IconData(0xe051, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_comment</i> &#x2014; material icon named "add comment" (sharp).
  static const IconData add_comment_sharp = IconData(0xe74f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_comment</i> &#x2014; material icon named "add comment" (round).
  static const IconData add_comment_rounded = IconData(0xf52e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_comment</i> &#x2014; material icon named "add comment" (outlined).
  static const IconData add_comment_outlined = IconData(0xee41, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_home</i> &#x2014; material icon named "add home".
  static const IconData add_home = IconData(0xf0785, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_home</i> &#x2014; material icon named "add home" (sharp).
  static const IconData add_home_sharp = IconData(0xf072d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_home</i> &#x2014; material icon named "add home" (round).
  static const IconData add_home_rounded = IconData(0xf07dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_home</i> &#x2014; material icon named "add home" (outlined).
  static const IconData add_home_outlined = IconData(0xf06d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_home_work</i> &#x2014; material icon named "add home work".
  static const IconData add_home_work = IconData(0xf0786, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_home_work</i> &#x2014; material icon named "add home work" (sharp).
  static const IconData add_home_work_sharp = IconData(0xf072e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_home_work</i> &#x2014; material icon named "add home work" (round).
  static const IconData add_home_work_rounded = IconData(0xf07de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_home_work</i> &#x2014; material icon named "add home work" (outlined).
  static const IconData add_home_work_outlined = IconData(0xf06d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_ic_call</i> &#x2014; material icon named "add ic call".
  static const IconData add_ic_call = IconData(0xe052, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_ic_call</i> &#x2014; material icon named "add ic call" (sharp).
  static const IconData add_ic_call_sharp = IconData(0xe750, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_ic_call</i> &#x2014; material icon named "add ic call" (round).
  static const IconData add_ic_call_rounded = IconData(0xf52f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_ic_call</i> &#x2014; material icon named "add ic call" (outlined).
  static const IconData add_ic_call_outlined = IconData(0xee42, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_link</i> &#x2014; material icon named "add link".
  static const IconData add_link = IconData(0xe053, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_link</i> &#x2014; material icon named "add link" (sharp).
  static const IconData add_link_sharp = IconData(0xe751, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_link</i> &#x2014; material icon named "add link" (round).
  static const IconData add_link_rounded = IconData(0xf530, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_link</i> &#x2014; material icon named "add link" (outlined).
  static const IconData add_link_outlined = IconData(0xee43, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_location</i> &#x2014; material icon named "add location".
  static const IconData add_location = IconData(0xe054, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_location</i> &#x2014; material icon named "add location" (sharp).
  static const IconData add_location_sharp = IconData(0xe753, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_location</i> &#x2014; material icon named "add location" (round).
  static const IconData add_location_rounded = IconData(0xf532, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_location</i> &#x2014; material icon named "add location" (outlined).
  static const IconData add_location_outlined = IconData(0xee45, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_location_alt</i> &#x2014; material icon named "add location alt".
  static const IconData add_location_alt = IconData(0xe055, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_location_alt</i> &#x2014; material icon named "add location alt" (sharp).
  static const IconData add_location_alt_sharp = IconData(0xe752, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_location_alt</i> &#x2014; material icon named "add location alt" (round).
  static const IconData add_location_alt_rounded = IconData(0xf531, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_location_alt</i> &#x2014; material icon named "add location alt" (outlined).
  static const IconData add_location_alt_outlined = IconData(0xee44, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_moderator</i> &#x2014; material icon named "add moderator".
  static const IconData add_moderator = IconData(0xe056, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_moderator</i> &#x2014; material icon named "add moderator" (sharp).
  static const IconData add_moderator_sharp = IconData(0xe754, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_moderator</i> &#x2014; material icon named "add moderator" (round).
  static const IconData add_moderator_rounded = IconData(0xf533, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_moderator</i> &#x2014; material icon named "add moderator" (outlined).
  static const IconData add_moderator_outlined = IconData(0xee46, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_photo_alternate</i> &#x2014; material icon named "add photo alternate".
  static const IconData add_photo_alternate = IconData(0xe057, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_photo_alternate</i> &#x2014; material icon named "add photo alternate" (sharp).
  static const IconData add_photo_alternate_sharp = IconData(0xe755, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_photo_alternate</i> &#x2014; material icon named "add photo alternate" (round).
  static const IconData add_photo_alternate_rounded = IconData(0xf534, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_photo_alternate</i> &#x2014; material icon named "add photo alternate" (outlined).
  static const IconData add_photo_alternate_outlined = IconData(0xee48, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_reaction</i> &#x2014; material icon named "add reaction".
  static const IconData add_reaction = IconData(0xe058, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_reaction</i> &#x2014; material icon named "add reaction" (sharp).
  static const IconData add_reaction_sharp = IconData(0xe756, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_reaction</i> &#x2014; material icon named "add reaction" (round).
  static const IconData add_reaction_rounded = IconData(0xf535, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_reaction</i> &#x2014; material icon named "add reaction" (outlined).
  static const IconData add_reaction_outlined = IconData(0xee49, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_road</i> &#x2014; material icon named "add road".
  static const IconData add_road = IconData(0xe059, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_road</i> &#x2014; material icon named "add road" (sharp).
  static const IconData add_road_sharp = IconData(0xe757, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_road</i> &#x2014; material icon named "add road" (round).
  static const IconData add_road_rounded = IconData(0xf536, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_road</i> &#x2014; material icon named "add road" (outlined).
  static const IconData add_road_outlined = IconData(0xee4a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_shopping_cart</i> &#x2014; material icon named "add shopping cart".
  static const IconData add_shopping_cart = IconData(0xe05a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_shopping_cart</i> &#x2014; material icon named "add shopping cart" (sharp).
  static const IconData add_shopping_cart_sharp = IconData(0xe759, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_shopping_cart</i> &#x2014; material icon named "add shopping cart" (round).
  static const IconData add_shopping_cart_rounded = IconData(0xf538, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_shopping_cart</i> &#x2014; material icon named "add shopping cart" (outlined).
  static const IconData add_shopping_cart_outlined = IconData(0xee4b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_task</i> &#x2014; material icon named "add task".
  static const IconData add_task = IconData(0xe05b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_task</i> &#x2014; material icon named "add task" (sharp).
  static const IconData add_task_sharp = IconData(0xe75a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_task</i> &#x2014; material icon named "add task" (round).
  static const IconData add_task_rounded = IconData(0xf539, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_task</i> &#x2014; material icon named "add task" (outlined).
  static const IconData add_task_outlined = IconData(0xee4c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_to_drive</i> &#x2014; material icon named "add to drive".
  static const IconData add_to_drive = IconData(0xe05c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_to_drive</i> &#x2014; material icon named "add to drive" (sharp).
  static const IconData add_to_drive_sharp = IconData(0xe75b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_to_drive</i> &#x2014; material icon named "add to drive" (round).
  static const IconData add_to_drive_rounded = IconData(0xf53a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_to_drive</i> &#x2014; material icon named "add to drive" (outlined).
  static const IconData add_to_drive_outlined = IconData(0xee4d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_to_home_screen</i> &#x2014; material icon named "add to home screen".
  static const IconData add_to_home_screen = IconData(0xe05d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_to_home_screen</i> &#x2014; material icon named "add to home screen" (sharp).
  static const IconData add_to_home_screen_sharp = IconData(0xe75c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_to_home_screen</i> &#x2014; material icon named "add to home screen" (round).
  static const IconData add_to_home_screen_rounded = IconData(0xf53b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_to_home_screen</i> &#x2014; material icon named "add to home screen" (outlined).
  static const IconData add_to_home_screen_outlined = IconData(0xee4e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_to_photos</i> &#x2014; material icon named "add to photos".
  static const IconData add_to_photos = IconData(0xe05e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_to_photos</i> &#x2014; material icon named "add to photos" (sharp).
  static const IconData add_to_photos_sharp = IconData(0xe75d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_to_photos</i> &#x2014; material icon named "add to photos" (round).
  static const IconData add_to_photos_rounded = IconData(0xf53c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_to_photos</i> &#x2014; material icon named "add to photos" (outlined).
  static const IconData add_to_photos_outlined = IconData(0xee4f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_to_queue</i> &#x2014; material icon named "add to queue".
  static const IconData add_to_queue = IconData(0xe05f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_to_queue</i> &#x2014; material icon named "add to queue" (sharp).
  static const IconData add_to_queue_sharp = IconData(0xe75e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_to_queue</i> &#x2014; material icon named "add to queue" (round).
  static const IconData add_to_queue_rounded = IconData(0xf53d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_to_queue</i> &#x2014; material icon named "add to queue" (outlined).
  static const IconData add_to_queue_outlined = IconData(0xee50, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">addchart</i> &#x2014; material icon named "addchart".
  static const IconData addchart = IconData(0xe060, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">addchart</i> &#x2014; material icon named "addchart" (sharp).
  static const IconData addchart_sharp = IconData(0xe75f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">addchart</i> &#x2014; material icon named "addchart" (round).
  static const IconData addchart_rounded = IconData(0xf53e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">addchart</i> &#x2014; material icon named "addchart" (outlined).
  static const IconData addchart_outlined = IconData(0xee51, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">adf_scanner</i> &#x2014; material icon named "adf scanner".
  static const IconData adf_scanner = IconData(0xf04b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">adf_scanner</i> &#x2014; material icon named "adf scanner" (sharp).
  static const IconData adf_scanner_sharp = IconData(0xf03c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">adf_scanner</i> &#x2014; material icon named "adf scanner" (round).
  static const IconData adf_scanner_rounded = IconData(0xf02d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">adf_scanner</i> &#x2014; material icon named "adf scanner" (outlined).
  static const IconData adf_scanner_outlined = IconData(0xf05b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">adjust</i> &#x2014; material icon named "adjust".
  static const IconData adjust = IconData(0xe061, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">adjust</i> &#x2014; material icon named "adjust" (sharp).
  static const IconData adjust_sharp = IconData(0xe760, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">adjust</i> &#x2014; material icon named "adjust" (round).
  static const IconData adjust_rounded = IconData(0xf53f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">adjust</i> &#x2014; material icon named "adjust" (outlined).
  static const IconData adjust_outlined = IconData(0xee52, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">admin_panel_settings</i> &#x2014; material icon named "admin panel settings".
  static const IconData admin_panel_settings = IconData(0xe062, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">admin_panel_settings</i> &#x2014; material icon named "admin panel settings" (sharp).
  static const IconData admin_panel_settings_sharp = IconData(0xe761, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">admin_panel_settings</i> &#x2014; material icon named "admin panel settings" (round).
  static const IconData admin_panel_settings_rounded = IconData(0xf540, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">admin_panel_settings</i> &#x2014; material icon named "admin panel settings" (outlined).
  static const IconData admin_panel_settings_outlined = IconData(0xee53, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">adobe</i> &#x2014; material icon named "adobe".
  static const IconData adobe = IconData(0xf04b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">adobe</i> &#x2014; material icon named "adobe" (sharp).
  static const IconData adobe_sharp = IconData(0xf03c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">adobe</i> &#x2014; material icon named "adobe" (round).
  static const IconData adobe_rounded = IconData(0xf02d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">adobe</i> &#x2014; material icon named "adobe" (outlined).
  static const IconData adobe_outlined = IconData(0xf05b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ads_click</i> &#x2014; material icon named "ads click".
  static const IconData ads_click = IconData(0xf04ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ads_click</i> &#x2014; material icon named "ads click" (sharp).
  static const IconData ads_click_sharp = IconData(0xf03c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ads_click</i> &#x2014; material icon named "ads click" (round).
  static const IconData ads_click_rounded = IconData(0xf02d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ads_click</i> &#x2014; material icon named "ads click" (outlined).
  static const IconData ads_click_outlined = IconData(0xf05b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">agriculture</i> &#x2014; material icon named "agriculture".
  static const IconData agriculture = IconData(0xe063, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">agriculture</i> &#x2014; material icon named "agriculture" (sharp).
  static const IconData agriculture_sharp = IconData(0xe762, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">agriculture</i> &#x2014; material icon named "agriculture" (round).
  static const IconData agriculture_rounded = IconData(0xf541, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">agriculture</i> &#x2014; material icon named "agriculture" (outlined).
  static const IconData agriculture_outlined = IconData(0xee54, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">air</i> &#x2014; material icon named "air".
  static const IconData air = IconData(0xe064, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">air</i> &#x2014; material icon named "air" (sharp).
  static const IconData air_sharp = IconData(0xe763, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">air</i> &#x2014; material icon named "air" (round).
  static const IconData air_rounded = IconData(0xf542, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">air</i> &#x2014; material icon named "air" (outlined).
  static const IconData air_outlined = IconData(0xee55, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airline_seat_flat</i> &#x2014; material icon named "airline seat flat".
  static const IconData airline_seat_flat = IconData(0xe065, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airline_seat_flat</i> &#x2014; material icon named "airline seat flat" (sharp).
  static const IconData airline_seat_flat_sharp = IconData(0xe765, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airline_seat_flat</i> &#x2014; material icon named "airline seat flat" (round).
  static const IconData airline_seat_flat_rounded = IconData(0xf544, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airline_seat_flat</i> &#x2014; material icon named "airline seat flat" (outlined).
  static const IconData airline_seat_flat_outlined = IconData(0xee57, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airline_seat_flat_angled</i> &#x2014; material icon named "airline seat flat angled".
  static const IconData airline_seat_flat_angled = IconData(0xe066, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airline_seat_flat_angled</i> &#x2014; material icon named "airline seat flat angled" (sharp).
  static const IconData airline_seat_flat_angled_sharp = IconData(0xe764, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airline_seat_flat_angled</i> &#x2014; material icon named "airline seat flat angled" (round).
  static const IconData airline_seat_flat_angled_rounded = IconData(0xf543, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airline_seat_flat_angled</i> &#x2014; material icon named "airline seat flat angled" (outlined).
  static const IconData airline_seat_flat_angled_outlined = IconData(0xee56, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airline_seat_individual_suite</i> &#x2014; material icon named "airline seat individual suite".
  static const IconData airline_seat_individual_suite = IconData(0xe067, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airline_seat_individual_suite</i> &#x2014; material icon named "airline seat individual suite" (sharp).
  static const IconData airline_seat_individual_suite_sharp = IconData(0xe766, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airline_seat_individual_suite</i> &#x2014; material icon named "airline seat individual suite" (round).
  static const IconData airline_seat_individual_suite_rounded = IconData(0xf545, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airline_seat_individual_suite</i> &#x2014; material icon named "airline seat individual suite" (outlined).
  static const IconData airline_seat_individual_suite_outlined = IconData(0xee58, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airline_seat_legroom_extra</i> &#x2014; material icon named "airline seat legroom extra".
  static const IconData airline_seat_legroom_extra = IconData(0xe068, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airline_seat_legroom_extra</i> &#x2014; material icon named "airline seat legroom extra" (sharp).
  static const IconData airline_seat_legroom_extra_sharp = IconData(0xe767, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airline_seat_legroom_extra</i> &#x2014; material icon named "airline seat legroom extra" (round).
  static const IconData airline_seat_legroom_extra_rounded = IconData(0xf546, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airline_seat_legroom_extra</i> &#x2014; material icon named "airline seat legroom extra" (outlined).
  static const IconData airline_seat_legroom_extra_outlined = IconData(0xee59, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airline_seat_legroom_normal</i> &#x2014; material icon named "airline seat legroom normal".
  static const IconData airline_seat_legroom_normal = IconData(0xe069, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airline_seat_legroom_normal</i> &#x2014; material icon named "airline seat legroom normal" (sharp).
  static const IconData airline_seat_legroom_normal_sharp = IconData(0xe768, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airline_seat_legroom_normal</i> &#x2014; material icon named "airline seat legroom normal" (round).
  static const IconData airline_seat_legroom_normal_rounded = IconData(0xf547, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airline_seat_legroom_normal</i> &#x2014; material icon named "airline seat legroom normal" (outlined).
  static const IconData airline_seat_legroom_normal_outlined = IconData(0xee5a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airline_seat_legroom_reduced</i> &#x2014; material icon named "airline seat legroom reduced".
  static const IconData airline_seat_legroom_reduced = IconData(0xe06a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airline_seat_legroom_reduced</i> &#x2014; material icon named "airline seat legroom reduced" (sharp).
  static const IconData airline_seat_legroom_reduced_sharp = IconData(0xe769, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airline_seat_legroom_reduced</i> &#x2014; material icon named "airline seat legroom reduced" (round).
  static const IconData airline_seat_legroom_reduced_rounded = IconData(0xf548, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airline_seat_legroom_reduced</i> &#x2014; material icon named "airline seat legroom reduced" (outlined).
  static const IconData airline_seat_legroom_reduced_outlined = IconData(0xee5b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airline_seat_recline_extra</i> &#x2014; material icon named "airline seat recline extra".
  static const IconData airline_seat_recline_extra = IconData(0xe06b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airline_seat_recline_extra</i> &#x2014; material icon named "airline seat recline extra" (sharp).
  static const IconData airline_seat_recline_extra_sharp = IconData(0xe76a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airline_seat_recline_extra</i> &#x2014; material icon named "airline seat recline extra" (round).
  static const IconData airline_seat_recline_extra_rounded = IconData(0xf549, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airline_seat_recline_extra</i> &#x2014; material icon named "airline seat recline extra" (outlined).
  static const IconData airline_seat_recline_extra_outlined = IconData(0xee5c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airline_seat_recline_normal</i> &#x2014; material icon named "airline seat recline normal".
  static const IconData airline_seat_recline_normal = IconData(0xe06c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airline_seat_recline_normal</i> &#x2014; material icon named "airline seat recline normal" (sharp).
  static const IconData airline_seat_recline_normal_sharp = IconData(0xe76b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airline_seat_recline_normal</i> &#x2014; material icon named "airline seat recline normal" (round).
  static const IconData airline_seat_recline_normal_rounded = IconData(0xf54a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airline_seat_recline_normal</i> &#x2014; material icon named "airline seat recline normal" (outlined).
  static const IconData airline_seat_recline_normal_outlined = IconData(0xee5d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airline_stops</i> &#x2014; material icon named "airline stops".
  static const IconData airline_stops = IconData(0xf04bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airline_stops</i> &#x2014; material icon named "airline stops" (sharp).
  static const IconData airline_stops_sharp = IconData(0xf03c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airline_stops</i> &#x2014; material icon named "airline stops" (round).
  static const IconData airline_stops_rounded = IconData(0xf02d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airline_stops</i> &#x2014; material icon named "airline stops" (outlined).
  static const IconData airline_stops_outlined = IconData(0xf05b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airlines</i> &#x2014; material icon named "airlines".
  static const IconData airlines = IconData(0xf04bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airlines</i> &#x2014; material icon named "airlines" (sharp).
  static const IconData airlines_sharp = IconData(0xf03c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airlines</i> &#x2014; material icon named "airlines" (round).
  static const IconData airlines_rounded = IconData(0xf02d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airlines</i> &#x2014; material icon named "airlines" (outlined).
  static const IconData airlines_outlined = IconData(0xf05b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airplane_ticket</i> &#x2014; material icon named "airplane ticket".
  static const IconData airplane_ticket = IconData(0xe06d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airplane_ticket</i> &#x2014; material icon named "airplane ticket" (sharp).
  static const IconData airplane_ticket_sharp = IconData(0xe76c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airplane_ticket</i> &#x2014; material icon named "airplane ticket" (round).
  static const IconData airplane_ticket_rounded = IconData(0xf54b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airplane_ticket</i> &#x2014; material icon named "airplane ticket" (outlined).
  static const IconData airplane_ticket_outlined = IconData(0xee5e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airplanemode_active</i> &#x2014; material icon named "airplanemode active".
  static const IconData airplanemode_active = IconData(0xe06e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airplanemode_active</i> &#x2014; material icon named "airplanemode active" (sharp).
  static const IconData airplanemode_active_sharp = IconData(0xe76d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airplanemode_active</i> &#x2014; material icon named "airplanemode active" (round).
  static const IconData airplanemode_active_rounded = IconData(0xf54c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airplanemode_active</i> &#x2014; material icon named "airplanemode active" (outlined).
  static const IconData airplanemode_active_outlined = IconData(0xee5f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airplanemode_inactive</i> &#x2014; material icon named "airplanemode inactive".
  static const IconData airplanemode_inactive = IconData(0xe06f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airplanemode_inactive</i> &#x2014; material icon named "airplanemode inactive" (sharp).
  static const IconData airplanemode_inactive_sharp = IconData(0xe76e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airplanemode_inactive</i> &#x2014; material icon named "airplanemode inactive" (round).
  static const IconData airplanemode_inactive_rounded = IconData(0xf54d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airplanemode_inactive</i> &#x2014; material icon named "airplanemode inactive" (outlined).
  static const IconData airplanemode_inactive_outlined = IconData(0xee60, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airplanemode_off</i> &#x2014; material icon named "airplanemode off".
  static const IconData airplanemode_off = IconData(0xe06f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airplanemode_off</i> &#x2014; material icon named "airplanemode off" (sharp).
  static const IconData airplanemode_off_sharp = IconData(0xe76e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airplanemode_off</i> &#x2014; material icon named "airplanemode off" (round).
  static const IconData airplanemode_off_rounded = IconData(0xf54d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airplanemode_off</i> &#x2014; material icon named "airplanemode off" (outlined).
  static const IconData airplanemode_off_outlined = IconData(0xee60, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airplanemode_on</i> &#x2014; material icon named "airplanemode on".
  static const IconData airplanemode_on = IconData(0xe06e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airplanemode_on</i> &#x2014; material icon named "airplanemode on" (sharp).
  static const IconData airplanemode_on_sharp = IconData(0xe76d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airplanemode_on</i> &#x2014; material icon named "airplanemode on" (round).
  static const IconData airplanemode_on_rounded = IconData(0xf54c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airplanemode_on</i> &#x2014; material icon named "airplanemode on" (outlined).
  static const IconData airplanemode_on_outlined = IconData(0xee5f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airplay</i> &#x2014; material icon named "airplay".
  static const IconData airplay = IconData(0xe070, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airplay</i> &#x2014; material icon named "airplay" (sharp).
  static const IconData airplay_sharp = IconData(0xe76f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airplay</i> &#x2014; material icon named "airplay" (round).
  static const IconData airplay_rounded = IconData(0xf54e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airplay</i> &#x2014; material icon named "airplay" (outlined).
  static const IconData airplay_outlined = IconData(0xee61, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airport_shuttle</i> &#x2014; material icon named "airport shuttle".
  static const IconData airport_shuttle = IconData(0xe071, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airport_shuttle</i> &#x2014; material icon named "airport shuttle" (sharp).
  static const IconData airport_shuttle_sharp = IconData(0xe770, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airport_shuttle</i> &#x2014; material icon named "airport shuttle" (round).
  static const IconData airport_shuttle_rounded = IconData(0xf54f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airport_shuttle</i> &#x2014; material icon named "airport shuttle" (outlined).
  static const IconData airport_shuttle_outlined = IconData(0xee62, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">alarm</i> &#x2014; material icon named "alarm".
  static const IconData alarm = IconData(0xe072, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">alarm</i> &#x2014; material icon named "alarm" (sharp).
  static const IconData alarm_sharp = IconData(0xe774, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">alarm</i> &#x2014; material icon named "alarm" (round).
  static const IconData alarm_rounded = IconData(0xf553, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">alarm</i> &#x2014; material icon named "alarm" (outlined).
  static const IconData alarm_outlined = IconData(0xee66, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">alarm_add</i> &#x2014; material icon named "alarm add".
  static const IconData alarm_add = IconData(0xe073, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">alarm_add</i> &#x2014; material icon named "alarm add" (sharp).
  static const IconData alarm_add_sharp = IconData(0xe771, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">alarm_add</i> &#x2014; material icon named "alarm add" (round).
  static const IconData alarm_add_rounded = IconData(0xf550, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">alarm_add</i> &#x2014; material icon named "alarm add" (outlined).
  static const IconData alarm_add_outlined = IconData(0xee63, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">alarm_off</i> &#x2014; material icon named "alarm off".
  static const IconData alarm_off = IconData(0xe074, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">alarm_off</i> &#x2014; material icon named "alarm off" (sharp).
  static const IconData alarm_off_sharp = IconData(0xe772, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">alarm_off</i> &#x2014; material icon named "alarm off" (round).
  static const IconData alarm_off_rounded = IconData(0xf551, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">alarm_off</i> &#x2014; material icon named "alarm off" (outlined).
  static const IconData alarm_off_outlined = IconData(0xee64, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">alarm_on</i> &#x2014; material icon named "alarm on".
  static const IconData alarm_on = IconData(0xe075, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">alarm_on</i> &#x2014; material icon named "alarm on" (sharp).
  static const IconData alarm_on_sharp = IconData(0xe773, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">alarm_on</i> &#x2014; material icon named "alarm on" (round).
  static const IconData alarm_on_rounded = IconData(0xf552, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">alarm_on</i> &#x2014; material icon named "alarm on" (outlined).
  static const IconData alarm_on_outlined = IconData(0xee65, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">album</i> &#x2014; material icon named "album".
  static const IconData album = IconData(0xe076, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">album</i> &#x2014; material icon named "album" (sharp).
  static const IconData album_sharp = IconData(0xe775, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">album</i> &#x2014; material icon named "album" (round).
  static const IconData album_rounded = IconData(0xf554, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">album</i> &#x2014; material icon named "album" (outlined).
  static const IconData album_outlined = IconData(0xee67, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">align_horizontal_center</i> &#x2014; material icon named "align horizontal center".
  static const IconData align_horizontal_center = IconData(0xe077, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">align_horizontal_center</i> &#x2014; material icon named "align horizontal center" (sharp).
  static const IconData align_horizontal_center_sharp = IconData(0xe776, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">align_horizontal_center</i> &#x2014; material icon named "align horizontal center" (round).
  static const IconData align_horizontal_center_rounded = IconData(0xf555, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">align_horizontal_center</i> &#x2014; material icon named "align horizontal center" (outlined).
  static const IconData align_horizontal_center_outlined = IconData(0xee68, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">align_horizontal_left</i> &#x2014; material icon named "align horizontal left".
  static const IconData align_horizontal_left = IconData(0xe078, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">align_horizontal_left</i> &#x2014; material icon named "align horizontal left" (sharp).
  static const IconData align_horizontal_left_sharp = IconData(0xe777, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">align_horizontal_left</i> &#x2014; material icon named "align horizontal left" (round).
  static const IconData align_horizontal_left_rounded = IconData(0xf556, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">align_horizontal_left</i> &#x2014; material icon named "align horizontal left" (outlined).
  static const IconData align_horizontal_left_outlined = IconData(0xee69, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">align_horizontal_right</i> &#x2014; material icon named "align horizontal right".
  static const IconData align_horizontal_right = IconData(0xe079, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">align_horizontal_right</i> &#x2014; material icon named "align horizontal right" (sharp).
  static const IconData align_horizontal_right_sharp = IconData(0xe778, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">align_horizontal_right</i> &#x2014; material icon named "align horizontal right" (round).
  static const IconData align_horizontal_right_rounded = IconData(0xf557, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">align_horizontal_right</i> &#x2014; material icon named "align horizontal right" (outlined).
  static const IconData align_horizontal_right_outlined = IconData(0xee6a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">align_vertical_bottom</i> &#x2014; material icon named "align vertical bottom".
  static const IconData align_vertical_bottom = IconData(0xe07a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">align_vertical_bottom</i> &#x2014; material icon named "align vertical bottom" (sharp).
  static const IconData align_vertical_bottom_sharp = IconData(0xe779, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">align_vertical_bottom</i> &#x2014; material icon named "align vertical bottom" (round).
  static const IconData align_vertical_bottom_rounded = IconData(0xf558, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">align_vertical_bottom</i> &#x2014; material icon named "align vertical bottom" (outlined).
  static const IconData align_vertical_bottom_outlined = IconData(0xee6b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">align_vertical_center</i> &#x2014; material icon named "align vertical center".
  static const IconData align_vertical_center = IconData(0xe07b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">align_vertical_center</i> &#x2014; material icon named "align vertical center" (sharp).
  static const IconData align_vertical_center_sharp = IconData(0xe77a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">align_vertical_center</i> &#x2014; material icon named "align vertical center" (round).
  static const IconData align_vertical_center_rounded = IconData(0xf559, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">align_vertical_center</i> &#x2014; material icon named "align vertical center" (outlined).
  static const IconData align_vertical_center_outlined = IconData(0xee6c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">align_vertical_top</i> &#x2014; material icon named "align vertical top".
  static const IconData align_vertical_top = IconData(0xe07c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">align_vertical_top</i> &#x2014; material icon named "align vertical top" (sharp).
  static const IconData align_vertical_top_sharp = IconData(0xe77b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">align_vertical_top</i> &#x2014; material icon named "align vertical top" (round).
  static const IconData align_vertical_top_rounded = IconData(0xf55a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">align_vertical_top</i> &#x2014; material icon named "align vertical top" (outlined).
  static const IconData align_vertical_top_outlined = IconData(0xee6d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">all_inbox</i> &#x2014; material icon named "all inbox".
  static const IconData all_inbox = IconData(0xe07d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">all_inbox</i> &#x2014; material icon named "all inbox" (sharp).
  static const IconData all_inbox_sharp = IconData(0xe77c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">all_inbox</i> &#x2014; material icon named "all inbox" (round).
  static const IconData all_inbox_rounded = IconData(0xf55b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">all_inbox</i> &#x2014; material icon named "all inbox" (outlined).
  static const IconData all_inbox_outlined = IconData(0xee6e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">all_inclusive</i> &#x2014; material icon named "all inclusive".
  static const IconData all_inclusive = IconData(0xe07e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">all_inclusive</i> &#x2014; material icon named "all inclusive" (sharp).
  static const IconData all_inclusive_sharp = IconData(0xe77d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">all_inclusive</i> &#x2014; material icon named "all inclusive" (round).
  static const IconData all_inclusive_rounded = IconData(0xf55c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">all_inclusive</i> &#x2014; material icon named "all inclusive" (outlined).
  static const IconData all_inclusive_outlined = IconData(0xee6f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">all_out</i> &#x2014; material icon named "all out".
  static const IconData all_out = IconData(0xe07f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">all_out</i> &#x2014; material icon named "all out" (sharp).
  static const IconData all_out_sharp = IconData(0xe77e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">all_out</i> &#x2014; material icon named "all out" (round).
  static const IconData all_out_rounded = IconData(0xf55d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">all_out</i> &#x2014; material icon named "all out" (outlined).
  static const IconData all_out_outlined = IconData(0xee70, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">alt_route</i> &#x2014; material icon named "alt route".
  static const IconData alt_route = IconData(0xe080, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">alt_route</i> &#x2014; material icon named "alt route" (sharp).
  static const IconData alt_route_sharp = IconData(0xe77f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">alt_route</i> &#x2014; material icon named "alt route" (round).
  static const IconData alt_route_rounded = IconData(0xf55e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">alt_route</i> &#x2014; material icon named "alt route" (outlined).
  static const IconData alt_route_outlined = IconData(0xee71, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">alternate_email</i> &#x2014; material icon named "alternate email".
  static const IconData alternate_email = IconData(0xe081, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">alternate_email</i> &#x2014; material icon named "alternate email" (sharp).
  static const IconData alternate_email_sharp = IconData(0xe780, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">alternate_email</i> &#x2014; material icon named "alternate email" (round).
  static const IconData alternate_email_rounded = IconData(0xf55f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">alternate_email</i> &#x2014; material icon named "alternate email" (outlined).
  static const IconData alternate_email_outlined = IconData(0xee72, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">amp_stories</i> &#x2014; material icon named "amp stories".
  static const IconData amp_stories = IconData(0xe082, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">amp_stories</i> &#x2014; material icon named "amp stories" (sharp).
  static const IconData amp_stories_sharp = IconData(0xe781, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">amp_stories</i> &#x2014; material icon named "amp stories" (round).
  static const IconData amp_stories_rounded = IconData(0xf560, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">amp_stories</i> &#x2014; material icon named "amp stories" (outlined).
  static const IconData amp_stories_outlined = IconData(0xee73, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">analytics</i> &#x2014; material icon named "analytics".
  static const IconData analytics = IconData(0xe083, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">analytics</i> &#x2014; material icon named "analytics" (sharp).
  static const IconData analytics_sharp = IconData(0xe782, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">analytics</i> &#x2014; material icon named "analytics" (round).
  static const IconData analytics_rounded = IconData(0xf561, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">analytics</i> &#x2014; material icon named "analytics" (outlined).
  static const IconData analytics_outlined = IconData(0xee74, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">anchor</i> &#x2014; material icon named "anchor".
  static const IconData anchor = IconData(0xe084, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">anchor</i> &#x2014; material icon named "anchor" (sharp).
  static const IconData anchor_sharp = IconData(0xe783, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">anchor</i> &#x2014; material icon named "anchor" (round).
  static const IconData anchor_rounded = IconData(0xf562, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">anchor</i> &#x2014; material icon named "anchor" (outlined).
  static const IconData anchor_outlined = IconData(0xee75, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">android</i> &#x2014; material icon named "android".
  static const IconData android = IconData(0xe085, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">android</i> &#x2014; material icon named "android" (sharp).
  static const IconData android_sharp = IconData(0xe784, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">android</i> &#x2014; material icon named "android" (round).
  static const IconData android_rounded = IconData(0xf563, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">android</i> &#x2014; material icon named "android" (outlined).
  static const IconData android_outlined = IconData(0xee76, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">animation</i> &#x2014; material icon named "animation".
  static const IconData animation = IconData(0xe086, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">animation</i> &#x2014; material icon named "animation" (sharp).
  static const IconData animation_sharp = IconData(0xe785, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">animation</i> &#x2014; material icon named "animation" (round).
  static const IconData animation_rounded = IconData(0xf564, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">animation</i> &#x2014; material icon named "animation" (outlined).
  static const IconData animation_outlined = IconData(0xee77, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">announcement</i> &#x2014; material icon named "announcement".
  static const IconData announcement = IconData(0xe087, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">announcement</i> &#x2014; material icon named "announcement" (sharp).
  static const IconData announcement_sharp = IconData(0xe786, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">announcement</i> &#x2014; material icon named "announcement" (round).
  static const IconData announcement_rounded = IconData(0xf565, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">announcement</i> &#x2014; material icon named "announcement" (outlined).
  static const IconData announcement_outlined = IconData(0xee78, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">aod</i> &#x2014; material icon named "aod".
  static const IconData aod = IconData(0xe088, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">aod</i> &#x2014; material icon named "aod" (sharp).
  static const IconData aod_sharp = IconData(0xe787, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">aod</i> &#x2014; material icon named "aod" (round).
  static const IconData aod_rounded = IconData(0xf566, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">aod</i> &#x2014; material icon named "aod" (outlined).
  static const IconData aod_outlined = IconData(0xee79, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">apartment</i> &#x2014; material icon named "apartment".
  static const IconData apartment = IconData(0xe089, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">apartment</i> &#x2014; material icon named "apartment" (sharp).
  static const IconData apartment_sharp = IconData(0xe788, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">apartment</i> &#x2014; material icon named "apartment" (round).
  static const IconData apartment_rounded = IconData(0xf567, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">apartment</i> &#x2014; material icon named "apartment" (outlined).
  static const IconData apartment_outlined = IconData(0xee7a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">api</i> &#x2014; material icon named "api".
  static const IconData api = IconData(0xe08a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">api</i> &#x2014; material icon named "api" (sharp).
  static const IconData api_sharp = IconData(0xe789, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">api</i> &#x2014; material icon named "api" (round).
  static const IconData api_rounded = IconData(0xf568, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">api</i> &#x2014; material icon named "api" (outlined).
  static const IconData api_outlined = IconData(0xee7b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">app_blocking</i> &#x2014; material icon named "app blocking".
  static const IconData app_blocking = IconData(0xe08b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">app_blocking</i> &#x2014; material icon named "app blocking" (sharp).
  static const IconData app_blocking_sharp = IconData(0xe78a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">app_blocking</i> &#x2014; material icon named "app blocking" (round).
  static const IconData app_blocking_rounded = IconData(0xf569, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">app_blocking</i> &#x2014; material icon named "app blocking" (outlined).
  static const IconData app_blocking_outlined = IconData(0xee7c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">app_registration</i> &#x2014; material icon named "app registration".
  static const IconData app_registration = IconData(0xe08c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">app_registration</i> &#x2014; material icon named "app registration" (sharp).
  static const IconData app_registration_sharp = IconData(0xe78b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">app_registration</i> &#x2014; material icon named "app registration" (round).
  static const IconData app_registration_rounded = IconData(0xf56a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">app_registration</i> &#x2014; material icon named "app registration" (outlined).
  static const IconData app_registration_outlined = IconData(0xee7d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">app_settings_alt</i> &#x2014; material icon named "app settings alt".
  static const IconData app_settings_alt = IconData(0xe08d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">app_settings_alt</i> &#x2014; material icon named "app settings alt" (sharp).
  static const IconData app_settings_alt_sharp = IconData(0xe78c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">app_settings_alt</i> &#x2014; material icon named "app settings alt" (round).
  static const IconData app_settings_alt_rounded = IconData(0xf56b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">app_settings_alt</i> &#x2014; material icon named "app settings alt" (outlined).
  static const IconData app_settings_alt_outlined = IconData(0xee7e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">app_shortcut</i> &#x2014; material icon named "app shortcut".
  static const IconData app_shortcut = IconData(0xf04bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">app_shortcut</i> &#x2014; material icon named "app shortcut" (sharp).
  static const IconData app_shortcut_sharp = IconData(0xf03ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">app_shortcut</i> &#x2014; material icon named "app shortcut" (round).
  static const IconData app_shortcut_rounded = IconData(0xf02d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">app_shortcut</i> &#x2014; material icon named "app shortcut" (outlined).
  static const IconData app_shortcut_outlined = IconData(0xf05b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">apple</i> &#x2014; material icon named "apple".
  static const IconData apple = IconData(0xf04be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">apple</i> &#x2014; material icon named "apple" (sharp).
  static const IconData apple_sharp = IconData(0xf03cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">apple</i> &#x2014; material icon named "apple" (round).
  static const IconData apple_rounded = IconData(0xf02d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">apple</i> &#x2014; material icon named "apple" (outlined).
  static const IconData apple_outlined = IconData(0xf05b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">approval</i> &#x2014; material icon named "approval".
  static const IconData approval = IconData(0xe08e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">approval</i> &#x2014; material icon named "approval" (sharp).
  static const IconData approval_sharp = IconData(0xe78d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">approval</i> &#x2014; material icon named "approval" (round).
  static const IconData approval_rounded = IconData(0xf56c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">approval</i> &#x2014; material icon named "approval" (outlined).
  static const IconData approval_outlined = IconData(0xee7f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">apps</i> &#x2014; material icon named "apps".
  static const IconData apps = IconData(0xe08f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">apps</i> &#x2014; material icon named "apps" (sharp).
  static const IconData apps_sharp = IconData(0xe78e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">apps</i> &#x2014; material icon named "apps" (round).
  static const IconData apps_rounded = IconData(0xf56d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">apps</i> &#x2014; material icon named "apps" (outlined).
  static const IconData apps_outlined = IconData(0xee80, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">apps_outage</i> &#x2014; material icon named "apps outage".
  static const IconData apps_outage = IconData(0xf04bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">apps_outage</i> &#x2014; material icon named "apps outage" (sharp).
  static const IconData apps_outage_sharp = IconData(0xf03cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">apps_outage</i> &#x2014; material icon named "apps outage" (round).
  static const IconData apps_outage_rounded = IconData(0xf02d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">apps_outage</i> &#x2014; material icon named "apps outage" (outlined).
  static const IconData apps_outage_outlined = IconData(0xf05ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">architecture</i> &#x2014; material icon named "architecture".
  static const IconData architecture = IconData(0xe090, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">architecture</i> &#x2014; material icon named "architecture" (sharp).
  static const IconData architecture_sharp = IconData(0xe78f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">architecture</i> &#x2014; material icon named "architecture" (round).
  static const IconData architecture_rounded = IconData(0xf56e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">architecture</i> &#x2014; material icon named "architecture" (outlined).
  static const IconData architecture_outlined = IconData(0xee81, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">archive</i> &#x2014; material icon named "archive".
  static const IconData archive = IconData(0xe091, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">archive</i> &#x2014; material icon named "archive" (sharp).
  static const IconData archive_sharp = IconData(0xe790, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">archive</i> &#x2014; material icon named "archive" (round).
  static const IconData archive_rounded = IconData(0xf56f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">archive</i> &#x2014; material icon named "archive" (outlined).
  static const IconData archive_outlined = IconData(0xee82, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">area_chart</i> &#x2014; material icon named "area chart".
  static const IconData area_chart = IconData(0xf04c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">area_chart</i> &#x2014; material icon named "area chart" (sharp).
  static const IconData area_chart_sharp = IconData(0xf03cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">area_chart</i> &#x2014; material icon named "area chart" (round).
  static const IconData area_chart_rounded = IconData(0xf02da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">area_chart</i> &#x2014; material icon named "area chart" (outlined).
  static const IconData area_chart_outlined = IconData(0xf05bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_back</i> &#x2014; material icon named "arrow back".
  static const IconData arrow_back = IconData(0xe092, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">arrow_back</i> &#x2014; material icon named "arrow back" (sharp).
  static const IconData arrow_back_sharp = IconData(0xe793, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">arrow_back</i> &#x2014; material icon named "arrow back" (round).
  static const IconData arrow_back_rounded = IconData(0xf572, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">arrow_back</i> &#x2014; material icon named "arrow back" (outlined).
  static const IconData arrow_back_outlined = IconData(0xee85, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">arrow_back_ios</i> &#x2014; material icon named "arrow back ios".
  static const IconData arrow_back_ios = IconData(0xe093, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">arrow_back_ios</i> &#x2014; material icon named "arrow back ios" (sharp).
  static const IconData arrow_back_ios_sharp = IconData(0xe792, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">arrow_back_ios</i> &#x2014; material icon named "arrow back ios" (round).
  static const IconData arrow_back_ios_rounded = IconData(0xf571, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">arrow_back_ios</i> &#x2014; material icon named "arrow back ios" (outlined).
  static const IconData arrow_back_ios_outlined = IconData(0xee84, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">arrow_back_ios_new</i> &#x2014; material icon named "arrow back ios new".
  static const IconData arrow_back_ios_new = IconData(0xe094, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_back_ios_new</i> &#x2014; material icon named "arrow back ios new" (sharp).
  static const IconData arrow_back_ios_new_sharp = IconData(0xe791, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_back_ios_new</i> &#x2014; material icon named "arrow back ios new" (round).
  static const IconData arrow_back_ios_new_rounded = IconData(0xf570, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_back_ios_new</i> &#x2014; material icon named "arrow back ios new" (outlined).
  static const IconData arrow_back_ios_new_outlined = IconData(0xee83, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_circle_down</i> &#x2014; material icon named "arrow circle down".
  static const IconData arrow_circle_down = IconData(0xe095, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_circle_down</i> &#x2014; material icon named "arrow circle down" (sharp).
  static const IconData arrow_circle_down_sharp = IconData(0xe794, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_circle_down</i> &#x2014; material icon named "arrow circle down" (round).
  static const IconData arrow_circle_down_rounded = IconData(0xf573, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_circle_down</i> &#x2014; material icon named "arrow circle down" (outlined).
  static const IconData arrow_circle_down_outlined = IconData(0xee86, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_circle_left</i> &#x2014; material icon named "arrow circle left".
  static const IconData arrow_circle_left = IconData(0xf04c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_circle_left</i> &#x2014; material icon named "arrow circle left" (sharp).
  static const IconData arrow_circle_left_sharp = IconData(0xf03ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_circle_left</i> &#x2014; material icon named "arrow circle left" (round).
  static const IconData arrow_circle_left_rounded = IconData(0xf02db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_circle_left</i> &#x2014; material icon named "arrow circle left" (outlined).
  static const IconData arrow_circle_left_outlined = IconData(0xf05bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_circle_right</i> &#x2014; material icon named "arrow circle right".
  static const IconData arrow_circle_right = IconData(0xf04c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_circle_right</i> &#x2014; material icon named "arrow circle right" (sharp).
  static const IconData arrow_circle_right_sharp = IconData(0xf03cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_circle_right</i> &#x2014; material icon named "arrow circle right" (round).
  static const IconData arrow_circle_right_rounded = IconData(0xf02dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_circle_right</i> &#x2014; material icon named "arrow circle right" (outlined).
  static const IconData arrow_circle_right_outlined = IconData(0xf05bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_circle_up</i> &#x2014; material icon named "arrow circle up".
  static const IconData arrow_circle_up = IconData(0xe096, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_circle_up</i> &#x2014; material icon named "arrow circle up" (sharp).
  static const IconData arrow_circle_up_sharp = IconData(0xe795, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_circle_up</i> &#x2014; material icon named "arrow circle up" (round).
  static const IconData arrow_circle_up_rounded = IconData(0xf574, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_circle_up</i> &#x2014; material icon named "arrow circle up" (outlined).
  static const IconData arrow_circle_up_outlined = IconData(0xee87, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_downward</i> &#x2014; material icon named "arrow downward".
  static const IconData arrow_downward = IconData(0xe097, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_downward</i> &#x2014; material icon named "arrow downward" (sharp).
  static const IconData arrow_downward_sharp = IconData(0xe796, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_downward</i> &#x2014; material icon named "arrow downward" (round).
  static const IconData arrow_downward_rounded = IconData(0xf575, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_downward</i> &#x2014; material icon named "arrow downward" (outlined).
  static const IconData arrow_downward_outlined = IconData(0xee88, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_drop_down</i> &#x2014; material icon named "arrow drop down".
  static const IconData arrow_drop_down = IconData(0xe098, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_drop_down</i> &#x2014; material icon named "arrow drop down" (sharp).
  static const IconData arrow_drop_down_sharp = IconData(0xe798, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_drop_down</i> &#x2014; material icon named "arrow drop down" (round).
  static const IconData arrow_drop_down_rounded = IconData(0xf577, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_drop_down</i> &#x2014; material icon named "arrow drop down" (outlined).
  static const IconData arrow_drop_down_outlined = IconData(0xee8a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_drop_down_circle</i> &#x2014; material icon named "arrow drop down circle".
  static const IconData arrow_drop_down_circle = IconData(0xe099, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_drop_down_circle</i> &#x2014; material icon named "arrow drop down circle" (sharp).
  static const IconData arrow_drop_down_circle_sharp = IconData(0xe797, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_drop_down_circle</i> &#x2014; material icon named "arrow drop down circle" (round).
  static const IconData arrow_drop_down_circle_rounded = IconData(0xf576, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_drop_down_circle</i> &#x2014; material icon named "arrow drop down circle" (outlined).
  static const IconData arrow_drop_down_circle_outlined = IconData(0xee89, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_drop_up</i> &#x2014; material icon named "arrow drop up".
  static const IconData arrow_drop_up = IconData(0xe09a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_drop_up</i> &#x2014; material icon named "arrow drop up" (sharp).
  static const IconData arrow_drop_up_sharp = IconData(0xe799, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_drop_up</i> &#x2014; material icon named "arrow drop up" (round).
  static const IconData arrow_drop_up_rounded = IconData(0xf578, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_drop_up</i> &#x2014; material icon named "arrow drop up" (outlined).
  static const IconData arrow_drop_up_outlined = IconData(0xee8b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_forward</i> &#x2014; material icon named "arrow forward".
  static const IconData arrow_forward = IconData(0xe09b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">arrow_forward</i> &#x2014; material icon named "arrow forward" (sharp).
  static const IconData arrow_forward_sharp = IconData(0xe79b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">arrow_forward</i> &#x2014; material icon named "arrow forward" (round).
  static const IconData arrow_forward_rounded = IconData(0xf57a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">arrow_forward</i> &#x2014; material icon named "arrow forward" (outlined).
  static const IconData arrow_forward_outlined = IconData(0xee8d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">arrow_forward_ios</i> &#x2014; material icon named "arrow forward ios".
  static const IconData arrow_forward_ios = IconData(0xe09c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">arrow_forward_ios</i> &#x2014; material icon named "arrow forward ios" (sharp).
  static const IconData arrow_forward_ios_sharp = IconData(0xe79a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">arrow_forward_ios</i> &#x2014; material icon named "arrow forward ios" (round).
  static const IconData arrow_forward_ios_rounded = IconData(0xf579, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">arrow_forward_ios</i> &#x2014; material icon named "arrow forward ios" (outlined).
  static const IconData arrow_forward_ios_outlined = IconData(0xee8c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">arrow_left</i> &#x2014; material icon named "arrow left".
  static const IconData arrow_left = IconData(0xe09d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">arrow_left</i> &#x2014; material icon named "arrow left" (sharp).
  static const IconData arrow_left_sharp = IconData(0xe79c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">arrow_left</i> &#x2014; material icon named "arrow left" (round).
  static const IconData arrow_left_rounded = IconData(0xf57b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">arrow_left</i> &#x2014; material icon named "arrow left" (outlined).
  static const IconData arrow_left_outlined = IconData(0xee8e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">arrow_outward</i> &#x2014; material icon named "arrow outward".
  static const IconData arrow_outward = IconData(0xf0852, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_outward</i> &#x2014; material icon named "arrow outward" (sharp).
  static const IconData arrow_outward_sharp = IconData(0xf0834, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_outward</i> &#x2014; material icon named "arrow outward" (round).
  static const IconData arrow_outward_rounded = IconData(0xf087d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_outward</i> &#x2014; material icon named "arrow outward" (outlined).
  static const IconData arrow_outward_outlined = IconData(0xf089b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_right</i> &#x2014; material icon named "arrow right".
  static const IconData arrow_right = IconData(0xe09e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">arrow_right</i> &#x2014; material icon named "arrow right" (sharp).
  static const IconData arrow_right_sharp = IconData(0xe79e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">arrow_right</i> &#x2014; material icon named "arrow right" (round).
  static const IconData arrow_right_rounded = IconData(0xf57d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">arrow_right</i> &#x2014; material icon named "arrow right" (outlined).
  static const IconData arrow_right_outlined = IconData(0xee90, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">arrow_right_alt</i> &#x2014; material icon named "arrow right alt".
  static const IconData arrow_right_alt = IconData(0xe09f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_right_alt</i> &#x2014; material icon named "arrow right alt" (sharp).
  static const IconData arrow_right_alt_sharp = IconData(0xe79d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_right_alt</i> &#x2014; material icon named "arrow right alt" (round).
  static const IconData arrow_right_alt_rounded = IconData(0xf57c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_right_alt</i> &#x2014; material icon named "arrow right alt" (outlined).
  static const IconData arrow_right_alt_outlined = IconData(0xee8f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_upward</i> &#x2014; material icon named "arrow upward".
  static const IconData arrow_upward = IconData(0xe0a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_upward</i> &#x2014; material icon named "arrow upward" (sharp).
  static const IconData arrow_upward_sharp = IconData(0xe79f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_upward</i> &#x2014; material icon named "arrow upward" (round).
  static const IconData arrow_upward_rounded = IconData(0xf57e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_upward</i> &#x2014; material icon named "arrow upward" (outlined).
  static const IconData arrow_upward_outlined = IconData(0xee91, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">art_track</i> &#x2014; material icon named "art track".
  static const IconData art_track = IconData(0xe0a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">art_track</i> &#x2014; material icon named "art track" (sharp).
  static const IconData art_track_sharp = IconData(0xe7a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">art_track</i> &#x2014; material icon named "art track" (round).
  static const IconData art_track_rounded = IconData(0xf57f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">art_track</i> &#x2014; material icon named "art track" (outlined).
  static const IconData art_track_outlined = IconData(0xee92, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">article</i> &#x2014; material icon named "article".
  static const IconData article = IconData(0xe0a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">article</i> &#x2014; material icon named "article" (sharp).
  static const IconData article_sharp = IconData(0xe7a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">article</i> &#x2014; material icon named "article" (round).
  static const IconData article_rounded = IconData(0xf580, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">article</i> &#x2014; material icon named "article" (outlined).
  static const IconData article_outlined = IconData(0xee93, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">aspect_ratio</i> &#x2014; material icon named "aspect ratio".
  static const IconData aspect_ratio = IconData(0xe0a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">aspect_ratio</i> &#x2014; material icon named "aspect ratio" (sharp).
  static const IconData aspect_ratio_sharp = IconData(0xe7a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">aspect_ratio</i> &#x2014; material icon named "aspect ratio" (round).
  static const IconData aspect_ratio_rounded = IconData(0xf581, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">aspect_ratio</i> &#x2014; material icon named "aspect ratio" (outlined).
  static const IconData aspect_ratio_outlined = IconData(0xee94, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assessment</i> &#x2014; material icon named "assessment".
  static const IconData assessment = IconData(0xe0a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">assessment</i> &#x2014; material icon named "assessment" (sharp).
  static const IconData assessment_sharp = IconData(0xe7a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">assessment</i> &#x2014; material icon named "assessment" (round).
  static const IconData assessment_rounded = IconData(0xf582, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">assessment</i> &#x2014; material icon named "assessment" (outlined).
  static const IconData assessment_outlined = IconData(0xee95, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assignment</i> &#x2014; material icon named "assignment".
  static const IconData assignment = IconData(0xe0a5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">assignment</i> &#x2014; material icon named "assignment" (sharp).
  static const IconData assignment_sharp = IconData(0xe7a8, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">assignment</i> &#x2014; material icon named "assignment" (round).
  static const IconData assignment_rounded = IconData(0xf587, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">assignment</i> &#x2014; material icon named "assignment" (outlined).
  static const IconData assignment_outlined = IconData(0xee98, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">assignment_add</i> &#x2014; material icon named "assignment add".
  static const IconData assignment_add = IconData(0xf0853, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assignment_ind</i> &#x2014; material icon named "assignment ind".
  static const IconData assignment_ind = IconData(0xe0a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">assignment_ind</i> &#x2014; material icon named "assignment ind" (sharp).
  static const IconData assignment_ind_sharp = IconData(0xe7a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">assignment_ind</i> &#x2014; material icon named "assignment ind" (round).
  static const IconData assignment_ind_rounded = IconData(0xf583, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">assignment_ind</i> &#x2014; material icon named "assignment ind" (outlined).
  static const IconData assignment_ind_outlined = IconData(0xee96, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assignment_late</i> &#x2014; material icon named "assignment late".
  static const IconData assignment_late = IconData(0xe0a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">assignment_late</i> &#x2014; material icon named "assignment late" (sharp).
  static const IconData assignment_late_sharp = IconData(0xe7a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">assignment_late</i> &#x2014; material icon named "assignment late" (round).
  static const IconData assignment_late_rounded = IconData(0xf584, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">assignment_late</i> &#x2014; material icon named "assignment late" (outlined).
  static const IconData assignment_late_outlined = IconData(0xee97, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assignment_return</i> &#x2014; material icon named "assignment return".
  static const IconData assignment_return = IconData(0xe0a8, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">assignment_return</i> &#x2014; material icon named "assignment return" (sharp).
  static const IconData assignment_return_sharp = IconData(0xe7a6, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">assignment_return</i> &#x2014; material icon named "assignment return" (round).
  static const IconData assignment_return_rounded = IconData(0xf585, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">assignment_return</i> &#x2014; material icon named "assignment return" (outlined).
  static const IconData assignment_return_outlined = IconData(0xee99, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">assignment_returned</i> &#x2014; material icon named "assignment returned".
  static const IconData assignment_returned = IconData(0xe0a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">assignment_returned</i> &#x2014; material icon named "assignment returned" (sharp).
  static const IconData assignment_returned_sharp = IconData(0xe7a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">assignment_returned</i> &#x2014; material icon named "assignment returned" (round).
  static const IconData assignment_returned_rounded = IconData(0xf586, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">assignment_returned</i> &#x2014; material icon named "assignment returned" (outlined).
  static const IconData assignment_returned_outlined = IconData(0xee9a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assignment_turned_in</i> &#x2014; material icon named "assignment turned in".
  static const IconData assignment_turned_in = IconData(0xe0aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">assignment_turned_in</i> &#x2014; material icon named "assignment turned in" (sharp).
  static const IconData assignment_turned_in_sharp = IconData(0xe7a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">assignment_turned_in</i> &#x2014; material icon named "assignment turned in" (round).
  static const IconData assignment_turned_in_rounded = IconData(0xf588, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">assignment_turned_in</i> &#x2014; material icon named "assignment turned in" (outlined).
  static const IconData assignment_turned_in_outlined = IconData(0xee9b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assist_walker</i> &#x2014; material icon named "assist walker".
  static const IconData assist_walker = IconData(0xf0854, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">assist_walker</i> &#x2014; material icon named "assist walker" (sharp).
  static const IconData assist_walker_sharp = IconData(0xf0835, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">assist_walker</i> &#x2014; material icon named "assist walker" (round).
  static const IconData assist_walker_rounded = IconData(0xf087e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">assist_walker</i> &#x2014; material icon named "assist walker" (outlined).
  static const IconData assist_walker_outlined = IconData(0xf089c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assistant</i> &#x2014; material icon named "assistant".
  static const IconData assistant = IconData(0xe0ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">assistant</i> &#x2014; material icon named "assistant" (sharp).
  static const IconData assistant_sharp = IconData(0xe7ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">assistant</i> &#x2014; material icon named "assistant" (round).
  static const IconData assistant_rounded = IconData(0xf58b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">assistant</i> &#x2014; material icon named "assistant" (outlined).
  static const IconData assistant_outlined = IconData(0xee9d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assistant_direction</i> &#x2014; material icon named "assistant direction".
  static const IconData assistant_direction = IconData(0xe0ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">assistant_direction</i> &#x2014; material icon named "assistant direction" (sharp).
  static const IconData assistant_direction_sharp = IconData(0xe7aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">assistant_direction</i> &#x2014; material icon named "assistant direction" (round).
  static const IconData assistant_direction_rounded = IconData(0xf589, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">assistant_direction</i> &#x2014; material icon named "assistant direction" (outlined).
  static const IconData assistant_direction_outlined = IconData(0xee9c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assistant_navigation</i> &#x2014; material icon named "assistant navigation".
  static const IconData assistant_navigation = IconData(0xe0ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assistant_photo</i> &#x2014; material icon named "assistant photo".
  static const IconData assistant_photo = IconData(0xe0ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">assistant_photo</i> &#x2014; material icon named "assistant photo" (sharp).
  static const IconData assistant_photo_sharp = IconData(0xe7ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">assistant_photo</i> &#x2014; material icon named "assistant photo" (round).
  static const IconData assistant_photo_rounded = IconData(0xf58a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">assistant_photo</i> &#x2014; material icon named "assistant photo" (outlined).
  static const IconData assistant_photo_outlined = IconData(0xee9e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assured_workload</i> &#x2014; material icon named "assured workload".
  static const IconData assured_workload = IconData(0xf04c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">assured_workload</i> &#x2014; material icon named "assured workload" (sharp).
  static const IconData assured_workload_sharp = IconData(0xf03d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">assured_workload</i> &#x2014; material icon named "assured workload" (round).
  static const IconData assured_workload_rounded = IconData(0xf02dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">assured_workload</i> &#x2014; material icon named "assured workload" (outlined).
  static const IconData assured_workload_outlined = IconData(0xf05be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">atm</i> &#x2014; material icon named "atm".
  static const IconData atm = IconData(0xe0af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">atm</i> &#x2014; material icon named "atm" (sharp).
  static const IconData atm_sharp = IconData(0xe7ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">atm</i> &#x2014; material icon named "atm" (round).
  static const IconData atm_rounded = IconData(0xf58c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">atm</i> &#x2014; material icon named "atm" (outlined).
  static const IconData atm_outlined = IconData(0xee9f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">attach_email</i> &#x2014; material icon named "attach email".
  static const IconData attach_email = IconData(0xe0b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">attach_email</i> &#x2014; material icon named "attach email" (sharp).
  static const IconData attach_email_sharp = IconData(0xe7ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">attach_email</i> &#x2014; material icon named "attach email" (round).
  static const IconData attach_email_rounded = IconData(0xf58d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">attach_email</i> &#x2014; material icon named "attach email" (outlined).
  static const IconData attach_email_outlined = IconData(0xeea0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">attach_file</i> &#x2014; material icon named "attach file".
  static const IconData attach_file = IconData(0xe0b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">attach_file</i> &#x2014; material icon named "attach file" (sharp).
  static const IconData attach_file_sharp = IconData(0xe7af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">attach_file</i> &#x2014; material icon named "attach file" (round).
  static const IconData attach_file_rounded = IconData(0xf58e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">attach_file</i> &#x2014; material icon named "attach file" (outlined).
  static const IconData attach_file_outlined = IconData(0xeea1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">attach_money</i> &#x2014; material icon named "attach money".
  static const IconData attach_money = IconData(0xe0b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">attach_money</i> &#x2014; material icon named "attach money" (sharp).
  static const IconData attach_money_sharp = IconData(0xe7b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">attach_money</i> &#x2014; material icon named "attach money" (round).
  static const IconData attach_money_rounded = IconData(0xf58f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">attach_money</i> &#x2014; material icon named "attach money" (outlined).
  static const IconData attach_money_outlined = IconData(0xeea2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">attachment</i> &#x2014; material icon named "attachment".
  static const IconData attachment = IconData(0xe0b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">attachment</i> &#x2014; material icon named "attachment" (sharp).
  static const IconData attachment_sharp = IconData(0xe7b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">attachment</i> &#x2014; material icon named "attachment" (round).
  static const IconData attachment_rounded = IconData(0xf590, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">attachment</i> &#x2014; material icon named "attachment" (outlined).
  static const IconData attachment_outlined = IconData(0xeea3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">attractions</i> &#x2014; material icon named "attractions".
  static const IconData attractions = IconData(0xe0b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">attractions</i> &#x2014; material icon named "attractions" (sharp).
  static const IconData attractions_sharp = IconData(0xe7b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">attractions</i> &#x2014; material icon named "attractions" (round).
  static const IconData attractions_rounded = IconData(0xf591, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">attractions</i> &#x2014; material icon named "attractions" (outlined).
  static const IconData attractions_outlined = IconData(0xeea4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">attribution</i> &#x2014; material icon named "attribution".
  static const IconData attribution = IconData(0xe0b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">attribution</i> &#x2014; material icon named "attribution" (sharp).
  static const IconData attribution_sharp = IconData(0xe7b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">attribution</i> &#x2014; material icon named "attribution" (round).
  static const IconData attribution_rounded = IconData(0xf592, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">attribution</i> &#x2014; material icon named "attribution" (outlined).
  static const IconData attribution_outlined = IconData(0xeea5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">audio_file</i> &#x2014; material icon named "audio file".
  static const IconData audio_file = IconData(0xf04c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">audio_file</i> &#x2014; material icon named "audio file" (sharp).
  static const IconData audio_file_sharp = IconData(0xf03d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">audio_file</i> &#x2014; material icon named "audio file" (round).
  static const IconData audio_file_rounded = IconData(0xf02de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">audio_file</i> &#x2014; material icon named "audio file" (outlined).
  static const IconData audio_file_outlined = IconData(0xf05bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">audiotrack</i> &#x2014; material icon named "audiotrack".
  static const IconData audiotrack = IconData(0xe0b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">audiotrack</i> &#x2014; material icon named "audiotrack" (sharp).
  static const IconData audiotrack_sharp = IconData(0xe7b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">audiotrack</i> &#x2014; material icon named "audiotrack" (round).
  static const IconData audiotrack_rounded = IconData(0xf593, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">audiotrack</i> &#x2014; material icon named "audiotrack" (outlined).
  static const IconData audiotrack_outlined = IconData(0xeea6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">auto_awesome</i> &#x2014; material icon named "auto awesome".
  static const IconData auto_awesome = IconData(0xe0b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">auto_awesome</i> &#x2014; material icon named "auto awesome" (sharp).
  static const IconData auto_awesome_sharp = IconData(0xe7b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">auto_awesome</i> &#x2014; material icon named "auto awesome" (round).
  static const IconData auto_awesome_rounded = IconData(0xf596, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">auto_awesome</i> &#x2014; material icon named "auto awesome" (outlined).
  static const IconData auto_awesome_outlined = IconData(0xeea9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">auto_awesome_mosaic</i> &#x2014; material icon named "auto awesome mosaic".
  static const IconData auto_awesome_mosaic = IconData(0xe0b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">auto_awesome_mosaic</i> &#x2014; material icon named "auto awesome mosaic" (sharp).
  static const IconData auto_awesome_mosaic_sharp = IconData(0xe7b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">auto_awesome_mosaic</i> &#x2014; material icon named "auto awesome mosaic" (round).
  static const IconData auto_awesome_mosaic_rounded = IconData(0xf594, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">auto_awesome_mosaic</i> &#x2014; material icon named "auto awesome mosaic" (outlined).
  static const IconData auto_awesome_mosaic_outlined = IconData(0xeea7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">auto_awesome_motion</i> &#x2014; material icon named "auto awesome motion".
  static const IconData auto_awesome_motion = IconData(0xe0b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">auto_awesome_motion</i> &#x2014; material icon named "auto awesome motion" (sharp).
  static const IconData auto_awesome_motion_sharp = IconData(0xe7b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">auto_awesome_motion</i> &#x2014; material icon named "auto awesome motion" (round).
  static const IconData auto_awesome_motion_rounded = IconData(0xf595, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">auto_awesome_motion</i> &#x2014; material icon named "auto awesome motion" (outlined).
  static const IconData auto_awesome_motion_outlined = IconData(0xeea8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">auto_delete</i> &#x2014; material icon named "auto delete".
  static const IconData auto_delete = IconData(0xe0ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">auto_delete</i> &#x2014; material icon named "auto delete" (sharp).
  static const IconData auto_delete_sharp = IconData(0xe7b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">auto_delete</i> &#x2014; material icon named "auto delete" (round).
  static const IconData auto_delete_rounded = IconData(0xf597, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">auto_delete</i> &#x2014; material icon named "auto delete" (outlined).
  static const IconData auto_delete_outlined = IconData(0xeeaa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">auto_fix_high</i> &#x2014; material icon named "auto fix high".
  static const IconData auto_fix_high = IconData(0xe0bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">auto_fix_high</i> &#x2014; material icon named "auto fix high" (sharp).
  static const IconData auto_fix_high_sharp = IconData(0xe7b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">auto_fix_high</i> &#x2014; material icon named "auto fix high" (round).
  static const IconData auto_fix_high_rounded = IconData(0xf598, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">auto_fix_high</i> &#x2014; material icon named "auto fix high" (outlined).
  static const IconData auto_fix_high_outlined = IconData(0xeeab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">auto_fix_normal</i> &#x2014; material icon named "auto fix normal".
  static const IconData auto_fix_normal = IconData(0xe0bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">auto_fix_normal</i> &#x2014; material icon named "auto fix normal" (sharp).
  static const IconData auto_fix_normal_sharp = IconData(0xe7ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">auto_fix_normal</i> &#x2014; material icon named "auto fix normal" (round).
  static const IconData auto_fix_normal_rounded = IconData(0xf599, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">auto_fix_normal</i> &#x2014; material icon named "auto fix normal" (outlined).
  static const IconData auto_fix_normal_outlined = IconData(0xeeac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">auto_fix_off</i> &#x2014; material icon named "auto fix off".
  static const IconData auto_fix_off = IconData(0xe0bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">auto_fix_off</i> &#x2014; material icon named "auto fix off" (sharp).
  static const IconData auto_fix_off_sharp = IconData(0xe7bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">auto_fix_off</i> &#x2014; material icon named "auto fix off" (round).
  static const IconData auto_fix_off_rounded = IconData(0xf59a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">auto_fix_off</i> &#x2014; material icon named "auto fix off" (outlined).
  static const IconData auto_fix_off_outlined = IconData(0xeead, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">auto_graph</i> &#x2014; material icon named "auto graph".
  static const IconData auto_graph = IconData(0xe0be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">auto_graph</i> &#x2014; material icon named "auto graph" (sharp).
  static const IconData auto_graph_sharp = IconData(0xe7bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">auto_graph</i> &#x2014; material icon named "auto graph" (round).
  static const IconData auto_graph_rounded = IconData(0xf59b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">auto_graph</i> &#x2014; material icon named "auto graph" (outlined).
  static const IconData auto_graph_outlined = IconData(0xeeae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">auto_mode</i> &#x2014; material icon named "auto mode".
  static const IconData auto_mode = IconData(0xf0787, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">auto_mode</i> &#x2014; material icon named "auto mode" (sharp).
  static const IconData auto_mode_sharp = IconData(0xf072f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">auto_mode</i> &#x2014; material icon named "auto mode" (round).
  static const IconData auto_mode_rounded = IconData(0xf07df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">auto_mode</i> &#x2014; material icon named "auto mode" (outlined).
  static const IconData auto_mode_outlined = IconData(0xf06d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">auto_stories</i> &#x2014; material icon named "auto stories".
  static const IconData auto_stories = IconData(0xe0bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">auto_stories</i> &#x2014; material icon named "auto stories" (sharp).
  static const IconData auto_stories_sharp = IconData(0xe7bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">auto_stories</i> &#x2014; material icon named "auto stories" (round).
  static const IconData auto_stories_rounded = IconData(0xf59c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">auto_stories</i> &#x2014; material icon named "auto stories" (outlined).
  static const IconData auto_stories_outlined = IconData(0xeeaf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">autofps_select</i> &#x2014; material icon named "autofps select".
  static const IconData autofps_select = IconData(0xe0c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">autofps_select</i> &#x2014; material icon named "autofps select" (sharp).
  static const IconData autofps_select_sharp = IconData(0xe7be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">autofps_select</i> &#x2014; material icon named "autofps select" (round).
  static const IconData autofps_select_rounded = IconData(0xf59d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">autofps_select</i> &#x2014; material icon named "autofps select" (outlined).
  static const IconData autofps_select_outlined = IconData(0xeeb0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">autorenew</i> &#x2014; material icon named "autorenew".
  static const IconData autorenew = IconData(0xe0c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">autorenew</i> &#x2014; material icon named "autorenew" (sharp).
  static const IconData autorenew_sharp = IconData(0xe7bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">autorenew</i> &#x2014; material icon named "autorenew" (round).
  static const IconData autorenew_rounded = IconData(0xf59e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">autorenew</i> &#x2014; material icon named "autorenew" (outlined).
  static const IconData autorenew_outlined = IconData(0xeeb1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">av_timer</i> &#x2014; material icon named "av timer".
  static const IconData av_timer = IconData(0xe0c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">av_timer</i> &#x2014; material icon named "av timer" (sharp).
  static const IconData av_timer_sharp = IconData(0xe7c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">av_timer</i> &#x2014; material icon named "av timer" (round).
  static const IconData av_timer_rounded = IconData(0xf59f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">av_timer</i> &#x2014; material icon named "av timer" (outlined).
  static const IconData av_timer_outlined = IconData(0xeeb2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">baby_changing_station</i> &#x2014; material icon named "baby changing station".
  static const IconData baby_changing_station = IconData(0xe0c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">baby_changing_station</i> &#x2014; material icon named "baby changing station" (sharp).
  static const IconData baby_changing_station_sharp = IconData(0xe7c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">baby_changing_station</i> &#x2014; material icon named "baby changing station" (round).
  static const IconData baby_changing_station_rounded = IconData(0xf5a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">baby_changing_station</i> &#x2014; material icon named "baby changing station" (outlined).
  static const IconData baby_changing_station_outlined = IconData(0xeeb3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">back_hand</i> &#x2014; material icon named "back hand".
  static const IconData back_hand = IconData(0xf04c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">back_hand</i> &#x2014; material icon named "back hand" (sharp).
  static const IconData back_hand_sharp = IconData(0xf03d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">back_hand</i> &#x2014; material icon named "back hand" (round).
  static const IconData back_hand_rounded = IconData(0xf02df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">back_hand</i> &#x2014; material icon named "back hand" (outlined).
  static const IconData back_hand_outlined = IconData(0xf05c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">backpack</i> &#x2014; material icon named "backpack".
  static const IconData backpack = IconData(0xe0c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">backpack</i> &#x2014; material icon named "backpack" (sharp).
  static const IconData backpack_sharp = IconData(0xe7c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">backpack</i> &#x2014; material icon named "backpack" (round).
  static const IconData backpack_rounded = IconData(0xf5a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">backpack</i> &#x2014; material icon named "backpack" (outlined).
  static const IconData backpack_outlined = IconData(0xeeb4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">backspace</i> &#x2014; material icon named "backspace".
  static const IconData backspace = IconData(0xe0c5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">backspace</i> &#x2014; material icon named "backspace" (sharp).
  static const IconData backspace_sharp = IconData(0xe7c3, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">backspace</i> &#x2014; material icon named "backspace" (round).
  static const IconData backspace_rounded = IconData(0xf5a2, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">backspace</i> &#x2014; material icon named "backspace" (outlined).
  static const IconData backspace_outlined = IconData(0xeeb5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">backup</i> &#x2014; material icon named "backup".
  static const IconData backup = IconData(0xe0c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">backup</i> &#x2014; material icon named "backup" (sharp).
  static const IconData backup_sharp = IconData(0xe7c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">backup</i> &#x2014; material icon named "backup" (round).
  static const IconData backup_rounded = IconData(0xf5a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">backup</i> &#x2014; material icon named "backup" (outlined).
  static const IconData backup_outlined = IconData(0xeeb6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">backup_table</i> &#x2014; material icon named "backup table".
  static const IconData backup_table = IconData(0xe0c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">backup_table</i> &#x2014; material icon named "backup table" (sharp).
  static const IconData backup_table_sharp = IconData(0xe7c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">backup_table</i> &#x2014; material icon named "backup table" (round).
  static const IconData backup_table_rounded = IconData(0xf5a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">backup_table</i> &#x2014; material icon named "backup table" (outlined).
  static const IconData backup_table_outlined = IconData(0xeeb7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">badge</i> &#x2014; material icon named "badge".
  static const IconData badge = IconData(0xe0c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">badge</i> &#x2014; material icon named "badge" (sharp).
  static const IconData badge_sharp = IconData(0xe7c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">badge</i> &#x2014; material icon named "badge" (round).
  static const IconData badge_rounded = IconData(0xf5a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">badge</i> &#x2014; material icon named "badge" (outlined).
  static const IconData badge_outlined = IconData(0xeeb8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bakery_dining</i> &#x2014; material icon named "bakery dining".
  static const IconData bakery_dining = IconData(0xe0c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bakery_dining</i> &#x2014; material icon named "bakery dining" (sharp).
  static const IconData bakery_dining_sharp = IconData(0xe7c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bakery_dining</i> &#x2014; material icon named "bakery dining" (round).
  static const IconData bakery_dining_rounded = IconData(0xf5a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bakery_dining</i> &#x2014; material icon named "bakery dining" (outlined).
  static const IconData bakery_dining_outlined = IconData(0xeeb9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">balance</i> &#x2014; material icon named "balance".
  static const IconData balance = IconData(0xf04c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">balance</i> &#x2014; material icon named "balance" (sharp).
  static const IconData balance_sharp = IconData(0xf03d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">balance</i> &#x2014; material icon named "balance" (round).
  static const IconData balance_rounded = IconData(0xf02e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">balance</i> &#x2014; material icon named "balance" (outlined).
  static const IconData balance_outlined = IconData(0xf05c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">balcony</i> &#x2014; material icon named "balcony".
  static const IconData balcony = IconData(0xe0ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">balcony</i> &#x2014; material icon named "balcony" (sharp).
  static const IconData balcony_sharp = IconData(0xe7c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">balcony</i> &#x2014; material icon named "balcony" (round).
  static const IconData balcony_rounded = IconData(0xf5a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">balcony</i> &#x2014; material icon named "balcony" (outlined).
  static const IconData balcony_outlined = IconData(0xeeba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ballot</i> &#x2014; material icon named "ballot".
  static const IconData ballot = IconData(0xe0cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ballot</i> &#x2014; material icon named "ballot" (sharp).
  static const IconData ballot_sharp = IconData(0xe7c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ballot</i> &#x2014; material icon named "ballot" (round).
  static const IconData ballot_rounded = IconData(0xf5a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ballot</i> &#x2014; material icon named "ballot" (outlined).
  static const IconData ballot_outlined = IconData(0xeebb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bar_chart</i> &#x2014; material icon named "bar chart".
  static const IconData bar_chart = IconData(0xe0cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bar_chart</i> &#x2014; material icon named "bar chart" (sharp).
  static const IconData bar_chart_sharp = IconData(0xe7ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bar_chart</i> &#x2014; material icon named "bar chart" (round).
  static const IconData bar_chart_rounded = IconData(0xf5a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bar_chart</i> &#x2014; material icon named "bar chart" (outlined).
  static const IconData bar_chart_outlined = IconData(0xeebc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">barcode_reader</i> &#x2014; material icon named "barcode reader".
  static const IconData barcode_reader = IconData(0xf0855, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">batch_prediction</i> &#x2014; material icon named "batch prediction".
  static const IconData batch_prediction = IconData(0xe0cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">batch_prediction</i> &#x2014; material icon named "batch prediction" (sharp).
  static const IconData batch_prediction_sharp = IconData(0xe7cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">batch_prediction</i> &#x2014; material icon named "batch prediction" (round).
  static const IconData batch_prediction_rounded = IconData(0xf5aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">batch_prediction</i> &#x2014; material icon named "batch prediction" (outlined).
  static const IconData batch_prediction_outlined = IconData(0xeebd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bathroom</i> &#x2014; material icon named "bathroom".
  static const IconData bathroom = IconData(0xe0ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bathroom</i> &#x2014; material icon named "bathroom" (sharp).
  static const IconData bathroom_sharp = IconData(0xe7cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bathroom</i> &#x2014; material icon named "bathroom" (round).
  static const IconData bathroom_rounded = IconData(0xf5ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bathroom</i> &#x2014; material icon named "bathroom" (outlined).
  static const IconData bathroom_outlined = IconData(0xeebe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bathtub</i> &#x2014; material icon named "bathtub".
  static const IconData bathtub = IconData(0xe0cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bathtub</i> &#x2014; material icon named "bathtub" (sharp).
  static const IconData bathtub_sharp = IconData(0xe7cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bathtub</i> &#x2014; material icon named "bathtub" (round).
  static const IconData bathtub_rounded = IconData(0xf5ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bathtub</i> &#x2014; material icon named "bathtub" (outlined).
  static const IconData bathtub_outlined = IconData(0xeebf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_0_bar</i> &#x2014; material icon named "battery 0 bar".
  static const IconData battery_0_bar = IconData(0xf0788, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_0_bar</i> &#x2014; material icon named "battery 0 bar" (sharp).
  static const IconData battery_0_bar_sharp = IconData(0xf0730, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_0_bar</i> &#x2014; material icon named "battery 0 bar" (round).
  static const IconData battery_0_bar_rounded = IconData(0xf07e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_0_bar</i> &#x2014; material icon named "battery 0 bar" (outlined).
  static const IconData battery_0_bar_outlined = IconData(0xf06d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_1_bar</i> &#x2014; material icon named "battery 1 bar".
  static const IconData battery_1_bar = IconData(0xf0789, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_1_bar</i> &#x2014; material icon named "battery 1 bar" (sharp).
  static const IconData battery_1_bar_sharp = IconData(0xf0731, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_1_bar</i> &#x2014; material icon named "battery 1 bar" (round).
  static const IconData battery_1_bar_rounded = IconData(0xf07e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_1_bar</i> &#x2014; material icon named "battery 1 bar" (outlined).
  static const IconData battery_1_bar_outlined = IconData(0xf06d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_2_bar</i> &#x2014; material icon named "battery 2 bar".
  static const IconData battery_2_bar = IconData(0xf078a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_2_bar</i> &#x2014; material icon named "battery 2 bar" (sharp).
  static const IconData battery_2_bar_sharp = IconData(0xf0732, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_2_bar</i> &#x2014; material icon named "battery 2 bar" (round).
  static const IconData battery_2_bar_rounded = IconData(0xf07e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_2_bar</i> &#x2014; material icon named "battery 2 bar" (outlined).
  static const IconData battery_2_bar_outlined = IconData(0xf06da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_3_bar</i> &#x2014; material icon named "battery 3 bar".
  static const IconData battery_3_bar = IconData(0xf078b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_3_bar</i> &#x2014; material icon named "battery 3 bar" (sharp).
  static const IconData battery_3_bar_sharp = IconData(0xf0733, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_3_bar</i> &#x2014; material icon named "battery 3 bar" (round).
  static const IconData battery_3_bar_rounded = IconData(0xf07e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_3_bar</i> &#x2014; material icon named "battery 3 bar" (outlined).
  static const IconData battery_3_bar_outlined = IconData(0xf06db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_4_bar</i> &#x2014; material icon named "battery 4 bar".
  static const IconData battery_4_bar = IconData(0xf078c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_4_bar</i> &#x2014; material icon named "battery 4 bar" (sharp).
  static const IconData battery_4_bar_sharp = IconData(0xf0734, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_4_bar</i> &#x2014; material icon named "battery 4 bar" (round).
  static const IconData battery_4_bar_rounded = IconData(0xf07e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_4_bar</i> &#x2014; material icon named "battery 4 bar" (outlined).
  static const IconData battery_4_bar_outlined = IconData(0xf06dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_5_bar</i> &#x2014; material icon named "battery 5 bar".
  static const IconData battery_5_bar = IconData(0xf078d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_5_bar</i> &#x2014; material icon named "battery 5 bar" (sharp).
  static const IconData battery_5_bar_sharp = IconData(0xf0735, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_5_bar</i> &#x2014; material icon named "battery 5 bar" (round).
  static const IconData battery_5_bar_rounded = IconData(0xf07e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_5_bar</i> &#x2014; material icon named "battery 5 bar" (outlined).
  static const IconData battery_5_bar_outlined = IconData(0xf06dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_6_bar</i> &#x2014; material icon named "battery 6 bar".
  static const IconData battery_6_bar = IconData(0xf078e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_6_bar</i> &#x2014; material icon named "battery 6 bar" (sharp).
  static const IconData battery_6_bar_sharp = IconData(0xf0736, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_6_bar</i> &#x2014; material icon named "battery 6 bar" (round).
  static const IconData battery_6_bar_rounded = IconData(0xf07e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_6_bar</i> &#x2014; material icon named "battery 6 bar" (outlined).
  static const IconData battery_6_bar_outlined = IconData(0xf06de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_alert</i> &#x2014; material icon named "battery alert".
  static const IconData battery_alert = IconData(0xe0d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_alert</i> &#x2014; material icon named "battery alert" (sharp).
  static const IconData battery_alert_sharp = IconData(0xe7ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_alert</i> &#x2014; material icon named "battery alert" (round).
  static const IconData battery_alert_rounded = IconData(0xf5ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_alert</i> &#x2014; material icon named "battery alert" (outlined).
  static const IconData battery_alert_outlined = IconData(0xeec0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_charging_full</i> &#x2014; material icon named "battery charging full".
  static const IconData battery_charging_full = IconData(0xe0d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_charging_full</i> &#x2014; material icon named "battery charging full" (sharp).
  static const IconData battery_charging_full_sharp = IconData(0xe7cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_charging_full</i> &#x2014; material icon named "battery charging full" (round).
  static const IconData battery_charging_full_rounded = IconData(0xf5ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_charging_full</i> &#x2014; material icon named "battery charging full" (outlined).
  static const IconData battery_charging_full_outlined = IconData(0xeec1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_full</i> &#x2014; material icon named "battery full".
  static const IconData battery_full = IconData(0xe0d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_full</i> &#x2014; material icon named "battery full" (sharp).
  static const IconData battery_full_sharp = IconData(0xe7d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_full</i> &#x2014; material icon named "battery full" (round).
  static const IconData battery_full_rounded = IconData(0xf5af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_full</i> &#x2014; material icon named "battery full" (outlined).
  static const IconData battery_full_outlined = IconData(0xeec2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_saver</i> &#x2014; material icon named "battery saver".
  static const IconData battery_saver = IconData(0xe0d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_saver</i> &#x2014; material icon named "battery saver" (sharp).
  static const IconData battery_saver_sharp = IconData(0xe7d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_saver</i> &#x2014; material icon named "battery saver" (round).
  static const IconData battery_saver_rounded = IconData(0xf5b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_saver</i> &#x2014; material icon named "battery saver" (outlined).
  static const IconData battery_saver_outlined = IconData(0xeec3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_std</i> &#x2014; material icon named "battery std".
  static const IconData battery_std = IconData(0xe0d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_std</i> &#x2014; material icon named "battery std" (sharp).
  static const IconData battery_std_sharp = IconData(0xe7d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_std</i> &#x2014; material icon named "battery std" (round).
  static const IconData battery_std_rounded = IconData(0xf5b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_std</i> &#x2014; material icon named "battery std" (outlined).
  static const IconData battery_std_outlined = IconData(0xeec4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_unknown</i> &#x2014; material icon named "battery unknown".
  static const IconData battery_unknown = IconData(0xe0d5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">battery_unknown</i> &#x2014; material icon named "battery unknown" (sharp).
  static const IconData battery_unknown_sharp = IconData(0xe7d3, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">battery_unknown</i> &#x2014; material icon named "battery unknown" (round).
  static const IconData battery_unknown_rounded = IconData(0xf5b2, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">battery_unknown</i> &#x2014; material icon named "battery unknown" (outlined).
  static const IconData battery_unknown_outlined = IconData(0xeec5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">beach_access</i> &#x2014; material icon named "beach access".
  static const IconData beach_access = IconData(0xe0d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">beach_access</i> &#x2014; material icon named "beach access" (sharp).
  static const IconData beach_access_sharp = IconData(0xe7d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">beach_access</i> &#x2014; material icon named "beach access" (round).
  static const IconData beach_access_rounded = IconData(0xf5b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">beach_access</i> &#x2014; material icon named "beach access" (outlined).
  static const IconData beach_access_outlined = IconData(0xeec6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bed</i> &#x2014; material icon named "bed".
  static const IconData bed = IconData(0xe0d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bed</i> &#x2014; material icon named "bed" (sharp).
  static const IconData bed_sharp = IconData(0xe7d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bed</i> &#x2014; material icon named "bed" (round).
  static const IconData bed_rounded = IconData(0xf5b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bed</i> &#x2014; material icon named "bed" (outlined).
  static const IconData bed_outlined = IconData(0xeec7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bedroom_baby</i> &#x2014; material icon named "bedroom baby".
  static const IconData bedroom_baby = IconData(0xe0d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bedroom_baby</i> &#x2014; material icon named "bedroom baby" (sharp).
  static const IconData bedroom_baby_sharp = IconData(0xe7d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bedroom_baby</i> &#x2014; material icon named "bedroom baby" (round).
  static const IconData bedroom_baby_rounded = IconData(0xf5b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bedroom_baby</i> &#x2014; material icon named "bedroom baby" (outlined).
  static const IconData bedroom_baby_outlined = IconData(0xeec8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bedroom_child</i> &#x2014; material icon named "bedroom child".
  static const IconData bedroom_child = IconData(0xe0d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bedroom_child</i> &#x2014; material icon named "bedroom child" (sharp).
  static const IconData bedroom_child_sharp = IconData(0xe7d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bedroom_child</i> &#x2014; material icon named "bedroom child" (round).
  static const IconData bedroom_child_rounded = IconData(0xf5b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bedroom_child</i> &#x2014; material icon named "bedroom child" (outlined).
  static const IconData bedroom_child_outlined = IconData(0xeec9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bedroom_parent</i> &#x2014; material icon named "bedroom parent".
  static const IconData bedroom_parent = IconData(0xe0da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bedroom_parent</i> &#x2014; material icon named "bedroom parent" (sharp).
  static const IconData bedroom_parent_sharp = IconData(0xe7d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bedroom_parent</i> &#x2014; material icon named "bedroom parent" (round).
  static const IconData bedroom_parent_rounded = IconData(0xf5b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bedroom_parent</i> &#x2014; material icon named "bedroom parent" (outlined).
  static const IconData bedroom_parent_outlined = IconData(0xeeca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bedtime</i> &#x2014; material icon named "bedtime".
  static const IconData bedtime = IconData(0xe0db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bedtime</i> &#x2014; material icon named "bedtime" (sharp).
  static const IconData bedtime_sharp = IconData(0xe7d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bedtime</i> &#x2014; material icon named "bedtime" (round).
  static const IconData bedtime_rounded = IconData(0xf5b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bedtime</i> &#x2014; material icon named "bedtime" (outlined).
  static const IconData bedtime_outlined = IconData(0xeecb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bedtime_off</i> &#x2014; material icon named "bedtime off".
  static const IconData bedtime_off = IconData(0xf04c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bedtime_off</i> &#x2014; material icon named "bedtime off" (sharp).
  static const IconData bedtime_off_sharp = IconData(0xf03d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bedtime_off</i> &#x2014; material icon named "bedtime off" (round).
  static const IconData bedtime_off_rounded = IconData(0xf02e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bedtime_off</i> &#x2014; material icon named "bedtime off" (outlined).
  static const IconData bedtime_off_outlined = IconData(0xf05c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">beenhere</i> &#x2014; material icon named "beenhere".
  static const IconData beenhere = IconData(0xe0dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">beenhere</i> &#x2014; material icon named "beenhere" (sharp).
  static const IconData beenhere_sharp = IconData(0xe7da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">beenhere</i> &#x2014; material icon named "beenhere" (round).
  static const IconData beenhere_rounded = IconData(0xf5b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">beenhere</i> &#x2014; material icon named "beenhere" (outlined).
  static const IconData beenhere_outlined = IconData(0xeecc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bento</i> &#x2014; material icon named "bento".
  static const IconData bento = IconData(0xe0dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bento</i> &#x2014; material icon named "bento" (sharp).
  static const IconData bento_sharp = IconData(0xe7db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bento</i> &#x2014; material icon named "bento" (round).
  static const IconData bento_rounded = IconData(0xf5ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bento</i> &#x2014; material icon named "bento" (outlined).
  static const IconData bento_outlined = IconData(0xeecd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bike_scooter</i> &#x2014; material icon named "bike scooter".
  static const IconData bike_scooter = IconData(0xe0de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bike_scooter</i> &#x2014; material icon named "bike scooter" (sharp).
  static const IconData bike_scooter_sharp = IconData(0xe7dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bike_scooter</i> &#x2014; material icon named "bike scooter" (round).
  static const IconData bike_scooter_rounded = IconData(0xf5bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bike_scooter</i> &#x2014; material icon named "bike scooter" (outlined).
  static const IconData bike_scooter_outlined = IconData(0xeece, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">biotech</i> &#x2014; material icon named "biotech".
  static const IconData biotech = IconData(0xe0df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">biotech</i> &#x2014; material icon named "biotech" (sharp).
  static const IconData biotech_sharp = IconData(0xe7dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">biotech</i> &#x2014; material icon named "biotech" (round).
  static const IconData biotech_rounded = IconData(0xf5bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">biotech</i> &#x2014; material icon named "biotech" (outlined).
  static const IconData biotech_outlined = IconData(0xeecf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">blender</i> &#x2014; material icon named "blender".
  static const IconData blender = IconData(0xe0e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">blender</i> &#x2014; material icon named "blender" (sharp).
  static const IconData blender_sharp = IconData(0xe7de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">blender</i> &#x2014; material icon named "blender" (round).
  static const IconData blender_rounded = IconData(0xf5bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">blender</i> &#x2014; material icon named "blender" (outlined).
  static const IconData blender_outlined = IconData(0xeed0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">blind</i> &#x2014; material icon named "blind".
  static const IconData blind = IconData(0xf0856, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">blind</i> &#x2014; material icon named "blind" (sharp).
  static const IconData blind_sharp = IconData(0xf0836, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">blind</i> &#x2014; material icon named "blind" (round).
  static const IconData blind_rounded = IconData(0xf087f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">blind</i> &#x2014; material icon named "blind" (outlined).
  static const IconData blind_outlined = IconData(0xf089d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">blinds</i> &#x2014; material icon named "blinds".
  static const IconData blinds = IconData(0xf078f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">blinds</i> &#x2014; material icon named "blinds" (sharp).
  static const IconData blinds_sharp = IconData(0xf0738, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">blinds</i> &#x2014; material icon named "blinds" (round).
  static const IconData blinds_rounded = IconData(0xf07e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">blinds</i> &#x2014; material icon named "blinds" (outlined).
  static const IconData blinds_outlined = IconData(0xf06e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">blinds_closed</i> &#x2014; material icon named "blinds closed".
  static const IconData blinds_closed = IconData(0xf0790, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">blinds_closed</i> &#x2014; material icon named "blinds closed" (sharp).
  static const IconData blinds_closed_sharp = IconData(0xf0737, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">blinds_closed</i> &#x2014; material icon named "blinds closed" (round).
  static const IconData blinds_closed_rounded = IconData(0xf07e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">blinds_closed</i> &#x2014; material icon named "blinds closed" (outlined).
  static const IconData blinds_closed_outlined = IconData(0xf06df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">block</i> &#x2014; material icon named "block".
  static const IconData block = IconData(0xe0e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">block</i> &#x2014; material icon named "block" (sharp).
  static const IconData block_sharp = IconData(0xe7df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">block</i> &#x2014; material icon named "block" (round).
  static const IconData block_rounded = IconData(0xf5be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">block</i> &#x2014; material icon named "block" (outlined).
  static const IconData block_outlined = IconData(0xeed1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">block_flipped</i> &#x2014; material icon named "block flipped".
  static const IconData block_flipped = IconData(0xe0e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bloodtype</i> &#x2014; material icon named "bloodtype".
  static const IconData bloodtype = IconData(0xe0e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bloodtype</i> &#x2014; material icon named "bloodtype" (sharp).
  static const IconData bloodtype_sharp = IconData(0xe7e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bloodtype</i> &#x2014; material icon named "bloodtype" (round).
  static const IconData bloodtype_rounded = IconData(0xf5bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bloodtype</i> &#x2014; material icon named "bloodtype" (outlined).
  static const IconData bloodtype_outlined = IconData(0xeed2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bluetooth</i> &#x2014; material icon named "bluetooth".
  static const IconData bluetooth = IconData(0xe0e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bluetooth</i> &#x2014; material icon named "bluetooth" (sharp).
  static const IconData bluetooth_sharp = IconData(0xe7e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bluetooth</i> &#x2014; material icon named "bluetooth" (round).
  static const IconData bluetooth_rounded = IconData(0xf5c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bluetooth</i> &#x2014; material icon named "bluetooth" (outlined).
  static const IconData bluetooth_outlined = IconData(0xeed7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bluetooth_audio</i> &#x2014; material icon named "bluetooth audio".
  static const IconData bluetooth_audio = IconData(0xe0e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bluetooth_audio</i> &#x2014; material icon named "bluetooth audio" (sharp).
  static const IconData bluetooth_audio_sharp = IconData(0xe7e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bluetooth_audio</i> &#x2014; material icon named "bluetooth audio" (round).
  static const IconData bluetooth_audio_rounded = IconData(0xf5c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bluetooth_audio</i> &#x2014; material icon named "bluetooth audio" (outlined).
  static const IconData bluetooth_audio_outlined = IconData(0xeed3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bluetooth_connected</i> &#x2014; material icon named "bluetooth connected".
  static const IconData bluetooth_connected = IconData(0xe0e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bluetooth_connected</i> &#x2014; material icon named "bluetooth connected" (sharp).
  static const IconData bluetooth_connected_sharp = IconData(0xe7e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bluetooth_connected</i> &#x2014; material icon named "bluetooth connected" (round).
  static const IconData bluetooth_connected_rounded = IconData(0xf5c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bluetooth_connected</i> &#x2014; material icon named "bluetooth connected" (outlined).
  static const IconData bluetooth_connected_outlined = IconData(0xeed4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bluetooth_disabled</i> &#x2014; material icon named "bluetooth disabled".
  static const IconData bluetooth_disabled = IconData(0xe0e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bluetooth_disabled</i> &#x2014; material icon named "bluetooth disabled" (sharp).
  static const IconData bluetooth_disabled_sharp = IconData(0xe7e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bluetooth_disabled</i> &#x2014; material icon named "bluetooth disabled" (round).
  static const IconData bluetooth_disabled_rounded = IconData(0xf5c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bluetooth_disabled</i> &#x2014; material icon named "bluetooth disabled" (outlined).
  static const IconData bluetooth_disabled_outlined = IconData(0xeed5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bluetooth_drive</i> &#x2014; material icon named "bluetooth drive".
  static const IconData bluetooth_drive = IconData(0xe0e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bluetooth_drive</i> &#x2014; material icon named "bluetooth drive" (sharp).
  static const IconData bluetooth_drive_sharp = IconData(0xe7e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bluetooth_drive</i> &#x2014; material icon named "bluetooth drive" (round).
  static const IconData bluetooth_drive_rounded = IconData(0xf5c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bluetooth_drive</i> &#x2014; material icon named "bluetooth drive" (outlined).
  static const IconData bluetooth_drive_outlined = IconData(0xeed6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bluetooth_searching</i> &#x2014; material icon named "bluetooth searching".
  static const IconData bluetooth_searching = IconData(0xe0e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bluetooth_searching</i> &#x2014; material icon named "bluetooth searching" (sharp).
  static const IconData bluetooth_searching_sharp = IconData(0xe7e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bluetooth_searching</i> &#x2014; material icon named "bluetooth searching" (round).
  static const IconData bluetooth_searching_rounded = IconData(0xf5c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bluetooth_searching</i> &#x2014; material icon named "bluetooth searching" (outlined).
  static const IconData bluetooth_searching_outlined = IconData(0xeed8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">blur_circular</i> &#x2014; material icon named "blur circular".
  static const IconData blur_circular = IconData(0xe0ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">blur_circular</i> &#x2014; material icon named "blur circular" (sharp).
  static const IconData blur_circular_sharp = IconData(0xe7e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">blur_circular</i> &#x2014; material icon named "blur circular" (round).
  static const IconData blur_circular_rounded = IconData(0xf5c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">blur_circular</i> &#x2014; material icon named "blur circular" (outlined).
  static const IconData blur_circular_outlined = IconData(0xeed9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">blur_linear</i> &#x2014; material icon named "blur linear".
  static const IconData blur_linear = IconData(0xe0eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">blur_linear</i> &#x2014; material icon named "blur linear" (sharp).
  static const IconData blur_linear_sharp = IconData(0xe7e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">blur_linear</i> &#x2014; material icon named "blur linear" (round).
  static const IconData blur_linear_rounded = IconData(0xf5c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">blur_linear</i> &#x2014; material icon named "blur linear" (outlined).
  static const IconData blur_linear_outlined = IconData(0xeeda, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">blur_off</i> &#x2014; material icon named "blur off".
  static const IconData blur_off = IconData(0xe0ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">blur_off</i> &#x2014; material icon named "blur off" (sharp).
  static const IconData blur_off_sharp = IconData(0xe7e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">blur_off</i> &#x2014; material icon named "blur off" (round).
  static const IconData blur_off_rounded = IconData(0xf5c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">blur_off</i> &#x2014; material icon named "blur off" (outlined).
  static const IconData blur_off_outlined = IconData(0xeedb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">blur_on</i> &#x2014; material icon named "blur on".
  static const IconData blur_on = IconData(0xe0ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">blur_on</i> &#x2014; material icon named "blur on" (sharp).
  static const IconData blur_on_sharp = IconData(0xe7ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">blur_on</i> &#x2014; material icon named "blur on" (round).
  static const IconData blur_on_rounded = IconData(0xf5c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">blur_on</i> &#x2014; material icon named "blur on" (outlined).
  static const IconData blur_on_outlined = IconData(0xeedc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bolt</i> &#x2014; material icon named "bolt".
  static const IconData bolt = IconData(0xe0ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bolt</i> &#x2014; material icon named "bolt" (sharp).
  static const IconData bolt_sharp = IconData(0xe7eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bolt</i> &#x2014; material icon named "bolt" (round).
  static const IconData bolt_rounded = IconData(0xf5ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bolt</i> &#x2014; material icon named "bolt" (outlined).
  static const IconData bolt_outlined = IconData(0xeedd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">book</i> &#x2014; material icon named "book".
  static const IconData book = IconData(0xe0ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">book</i> &#x2014; material icon named "book" (sharp).
  static const IconData book_sharp = IconData(0xe7ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">book</i> &#x2014; material icon named "book" (round).
  static const IconData book_rounded = IconData(0xf5cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">book</i> &#x2014; material icon named "book" (outlined).
  static const IconData book_outlined = IconData(0xeedf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">book_online</i> &#x2014; material icon named "book online".
  static const IconData book_online = IconData(0xe0f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">book_online</i> &#x2014; material icon named "book online" (sharp).
  static const IconData book_online_sharp = IconData(0xe7ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">book_online</i> &#x2014; material icon named "book online" (round).
  static const IconData book_online_rounded = IconData(0xf5cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">book_online</i> &#x2014; material icon named "book online" (outlined).
  static const IconData book_online_outlined = IconData(0xeede, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bookmark</i> &#x2014; material icon named "bookmark".
  static const IconData bookmark = IconData(0xe0f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bookmark</i> &#x2014; material icon named "bookmark" (sharp).
  static const IconData bookmark_sharp = IconData(0xe7f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bookmark</i> &#x2014; material icon named "bookmark" (round).
  static const IconData bookmark_rounded = IconData(0xf5d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bookmark</i> &#x2014; material icon named "bookmark" (outlined).
  static const IconData bookmark_outlined = IconData(0xeee3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bookmark_add</i> &#x2014; material icon named "bookmark add".
  static const IconData bookmark_add = IconData(0xe0f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bookmark_add</i> &#x2014; material icon named "bookmark add" (sharp).
  static const IconData bookmark_add_sharp = IconData(0xe7ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bookmark_add</i> &#x2014; material icon named "bookmark add" (round).
  static const IconData bookmark_add_rounded = IconData(0xf5cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bookmark_add</i> &#x2014; material icon named "bookmark add" (outlined).
  static const IconData bookmark_add_outlined = IconData(0xeee0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bookmark_added</i> &#x2014; material icon named "bookmark added".
  static const IconData bookmark_added = IconData(0xe0f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bookmark_added</i> &#x2014; material icon named "bookmark added" (sharp).
  static const IconData bookmark_added_sharp = IconData(0xe7ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bookmark_added</i> &#x2014; material icon named "bookmark added" (round).
  static const IconData bookmark_added_rounded = IconData(0xf5ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bookmark_added</i> &#x2014; material icon named "bookmark added" (outlined).
  static const IconData bookmark_added_outlined = IconData(0xeee1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bookmark_border</i> &#x2014; material icon named "bookmark border".
  static const IconData bookmark_border = IconData(0xe0f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bookmark_border</i> &#x2014; material icon named "bookmark border" (sharp).
  static const IconData bookmark_border_sharp = IconData(0xe7f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bookmark_border</i> &#x2014; material icon named "bookmark border" (round).
  static const IconData bookmark_border_rounded = IconData(0xf5cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bookmark_border</i> &#x2014; material icon named "bookmark border" (outlined).
  static const IconData bookmark_border_outlined = IconData(0xeee2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bookmark_outline</i> &#x2014; material icon named "bookmark outline".
  static const IconData bookmark_outline = IconData(0xe0f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bookmark_outline</i> &#x2014; material icon named "bookmark outline" (sharp).
  static const IconData bookmark_outline_sharp = IconData(0xe7f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bookmark_outline</i> &#x2014; material icon named "bookmark outline" (round).
  static const IconData bookmark_outline_rounded = IconData(0xf5cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bookmark_outline</i> &#x2014; material icon named "bookmark outline" (outlined).
  static const IconData bookmark_outline_outlined = IconData(0xeee2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bookmark_remove</i> &#x2014; material icon named "bookmark remove".
  static const IconData bookmark_remove = IconData(0xe0f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bookmark_remove</i> &#x2014; material icon named "bookmark remove" (sharp).
  static const IconData bookmark_remove_sharp = IconData(0xe7f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bookmark_remove</i> &#x2014; material icon named "bookmark remove" (round).
  static const IconData bookmark_remove_rounded = IconData(0xf5d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bookmark_remove</i> &#x2014; material icon named "bookmark remove" (outlined).
  static const IconData bookmark_remove_outlined = IconData(0xeee4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bookmarks</i> &#x2014; material icon named "bookmarks".
  static const IconData bookmarks = IconData(0xe0f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bookmarks</i> &#x2014; material icon named "bookmarks" (sharp).
  static const IconData bookmarks_sharp = IconData(0xe7f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bookmarks</i> &#x2014; material icon named "bookmarks" (round).
  static const IconData bookmarks_rounded = IconData(0xf5d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bookmarks</i> &#x2014; material icon named "bookmarks" (outlined).
  static const IconData bookmarks_outlined = IconData(0xeee5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_all</i> &#x2014; material icon named "border all".
  static const IconData border_all = IconData(0xe0f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_all</i> &#x2014; material icon named "border all" (sharp).
  static const IconData border_all_sharp = IconData(0xe7f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_all</i> &#x2014; material icon named "border all" (round).
  static const IconData border_all_rounded = IconData(0xf5d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_all</i> &#x2014; material icon named "border all" (outlined).
  static const IconData border_all_outlined = IconData(0xeee6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_bottom</i> &#x2014; material icon named "border bottom".
  static const IconData border_bottom = IconData(0xe0f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_bottom</i> &#x2014; material icon named "border bottom" (sharp).
  static const IconData border_bottom_sharp = IconData(0xe7f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_bottom</i> &#x2014; material icon named "border bottom" (round).
  static const IconData border_bottom_rounded = IconData(0xf5d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_bottom</i> &#x2014; material icon named "border bottom" (outlined).
  static const IconData border_bottom_outlined = IconData(0xeee7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_clear</i> &#x2014; material icon named "border clear".
  static const IconData border_clear = IconData(0xe0f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_clear</i> &#x2014; material icon named "border clear" (sharp).
  static const IconData border_clear_sharp = IconData(0xe7f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_clear</i> &#x2014; material icon named "border clear" (round).
  static const IconData border_clear_rounded = IconData(0xf5d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_clear</i> &#x2014; material icon named "border clear" (outlined).
  static const IconData border_clear_outlined = IconData(0xeee8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_color</i> &#x2014; material icon named "border color".
  static const IconData border_color = IconData(0xe0fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_color</i> &#x2014; material icon named "border color" (sharp).
  static const IconData border_color_sharp = IconData(0xe7f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_color</i> &#x2014; material icon named "border color" (round).
  static const IconData border_color_rounded = IconData(0xf5d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_color</i> &#x2014; material icon named "border color" (outlined).
  static const IconData border_color_outlined = IconData(0xeee9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_horizontal</i> &#x2014; material icon named "border horizontal".
  static const IconData border_horizontal = IconData(0xe0fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_horizontal</i> &#x2014; material icon named "border horizontal" (sharp).
  static const IconData border_horizontal_sharp = IconData(0xe7f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_horizontal</i> &#x2014; material icon named "border horizontal" (round).
  static const IconData border_horizontal_rounded = IconData(0xf5d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_horizontal</i> &#x2014; material icon named "border horizontal" (outlined).
  static const IconData border_horizontal_outlined = IconData(0xeeea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_inner</i> &#x2014; material icon named "border inner".
  static const IconData border_inner = IconData(0xe0fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_inner</i> &#x2014; material icon named "border inner" (sharp).
  static const IconData border_inner_sharp = IconData(0xe7f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_inner</i> &#x2014; material icon named "border inner" (round).
  static const IconData border_inner_rounded = IconData(0xf5d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_inner</i> &#x2014; material icon named "border inner" (outlined).
  static const IconData border_inner_outlined = IconData(0xeeeb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_left</i> &#x2014; material icon named "border left".
  static const IconData border_left = IconData(0xe0fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_left</i> &#x2014; material icon named "border left" (sharp).
  static const IconData border_left_sharp = IconData(0xe7fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_left</i> &#x2014; material icon named "border left" (round).
  static const IconData border_left_rounded = IconData(0xf5d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_left</i> &#x2014; material icon named "border left" (outlined).
  static const IconData border_left_outlined = IconData(0xeeec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_outer</i> &#x2014; material icon named "border outer".
  static const IconData border_outer = IconData(0xe0fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_outer</i> &#x2014; material icon named "border outer" (sharp).
  static const IconData border_outer_sharp = IconData(0xe7fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_outer</i> &#x2014; material icon named "border outer" (round).
  static const IconData border_outer_rounded = IconData(0xf5da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_outer</i> &#x2014; material icon named "border outer" (outlined).
  static const IconData border_outer_outlined = IconData(0xeeed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_right</i> &#x2014; material icon named "border right".
  static const IconData border_right = IconData(0xe0ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_right</i> &#x2014; material icon named "border right" (sharp).
  static const IconData border_right_sharp = IconData(0xe7fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_right</i> &#x2014; material icon named "border right" (round).
  static const IconData border_right_rounded = IconData(0xf5db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_right</i> &#x2014; material icon named "border right" (outlined).
  static const IconData border_right_outlined = IconData(0xeeee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_style</i> &#x2014; material icon named "border style".
  static const IconData border_style = IconData(0xe100, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_style</i> &#x2014; material icon named "border style" (sharp).
  static const IconData border_style_sharp = IconData(0xe7fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_style</i> &#x2014; material icon named "border style" (round).
  static const IconData border_style_rounded = IconData(0xf5dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_style</i> &#x2014; material icon named "border style" (outlined).
  static const IconData border_style_outlined = IconData(0xeeef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_top</i> &#x2014; material icon named "border top".
  static const IconData border_top = IconData(0xe101, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_top</i> &#x2014; material icon named "border top" (sharp).
  static const IconData border_top_sharp = IconData(0xe7fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_top</i> &#x2014; material icon named "border top" (round).
  static const IconData border_top_rounded = IconData(0xf5dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_top</i> &#x2014; material icon named "border top" (outlined).
  static const IconData border_top_outlined = IconData(0xeef0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_vertical</i> &#x2014; material icon named "border vertical".
  static const IconData border_vertical = IconData(0xe102, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_vertical</i> &#x2014; material icon named "border vertical" (sharp).
  static const IconData border_vertical_sharp = IconData(0xe7ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_vertical</i> &#x2014; material icon named "border vertical" (round).
  static const IconData border_vertical_rounded = IconData(0xf5de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_vertical</i> &#x2014; material icon named "border vertical" (outlined).
  static const IconData border_vertical_outlined = IconData(0xeef1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">boy</i> &#x2014; material icon named "boy".
  static const IconData boy = IconData(0xf04c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">boy</i> &#x2014; material icon named "boy" (sharp).
  static const IconData boy_sharp = IconData(0xf03d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">boy</i> &#x2014; material icon named "boy" (round).
  static const IconData boy_rounded = IconData(0xf02e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">boy</i> &#x2014; material icon named "boy" (outlined).
  static const IconData boy_outlined = IconData(0xf05c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">branding_watermark</i> &#x2014; material icon named "branding watermark".
  static const IconData branding_watermark = IconData(0xe103, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">branding_watermark</i> &#x2014; material icon named "branding watermark" (sharp).
  static const IconData branding_watermark_sharp = IconData(0xe800, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">branding_watermark</i> &#x2014; material icon named "branding watermark" (round).
  static const IconData branding_watermark_rounded = IconData(0xf5df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">branding_watermark</i> &#x2014; material icon named "branding watermark" (outlined).
  static const IconData branding_watermark_outlined = IconData(0xeef2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">breakfast_dining</i> &#x2014; material icon named "breakfast dining".
  static const IconData breakfast_dining = IconData(0xe104, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">breakfast_dining</i> &#x2014; material icon named "breakfast dining" (sharp).
  static const IconData breakfast_dining_sharp = IconData(0xe801, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">breakfast_dining</i> &#x2014; material icon named "breakfast dining" (round).
  static const IconData breakfast_dining_rounded = IconData(0xf5e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">breakfast_dining</i> &#x2014; material icon named "breakfast dining" (outlined).
  static const IconData breakfast_dining_outlined = IconData(0xeef3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_1</i> &#x2014; material icon named "brightness 1".
  static const IconData brightness_1 = IconData(0xe105, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_1</i> &#x2014; material icon named "brightness 1" (sharp).
  static const IconData brightness_1_sharp = IconData(0xe802, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_1</i> &#x2014; material icon named "brightness 1" (round).
  static const IconData brightness_1_rounded = IconData(0xf5e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_1</i> &#x2014; material icon named "brightness 1" (outlined).
  static const IconData brightness_1_outlined = IconData(0xeef4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_2</i> &#x2014; material icon named "brightness 2".
  static const IconData brightness_2 = IconData(0xe106, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_2</i> &#x2014; material icon named "brightness 2" (sharp).
  static const IconData brightness_2_sharp = IconData(0xe803, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_2</i> &#x2014; material icon named "brightness 2" (round).
  static const IconData brightness_2_rounded = IconData(0xf5e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_2</i> &#x2014; material icon named "brightness 2" (outlined).
  static const IconData brightness_2_outlined = IconData(0xeef5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_3</i> &#x2014; material icon named "brightness 3".
  static const IconData brightness_3 = IconData(0xe107, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_3</i> &#x2014; material icon named "brightness 3" (sharp).
  static const IconData brightness_3_sharp = IconData(0xe804, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_3</i> &#x2014; material icon named "brightness 3" (round).
  static const IconData brightness_3_rounded = IconData(0xf5e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_3</i> &#x2014; material icon named "brightness 3" (outlined).
  static const IconData brightness_3_outlined = IconData(0xeef6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_4</i> &#x2014; material icon named "brightness 4".
  static const IconData brightness_4 = IconData(0xe108, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_4</i> &#x2014; material icon named "brightness 4" (sharp).
  static const IconData brightness_4_sharp = IconData(0xe805, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_4</i> &#x2014; material icon named "brightness 4" (round).
  static const IconData brightness_4_rounded = IconData(0xf5e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_4</i> &#x2014; material icon named "brightness 4" (outlined).
  static const IconData brightness_4_outlined = IconData(0xeef7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_5</i> &#x2014; material icon named "brightness 5".
  static const IconData brightness_5 = IconData(0xe109, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_5</i> &#x2014; material icon named "brightness 5" (sharp).
  static const IconData brightness_5_sharp = IconData(0xe806, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_5</i> &#x2014; material icon named "brightness 5" (round).
  static const IconData brightness_5_rounded = IconData(0xf5e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_5</i> &#x2014; material icon named "brightness 5" (outlined).
  static const IconData brightness_5_outlined = IconData(0xeef8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_6</i> &#x2014; material icon named "brightness 6".
  static const IconData brightness_6 = IconData(0xe10a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_6</i> &#x2014; material icon named "brightness 6" (sharp).
  static const IconData brightness_6_sharp = IconData(0xe807, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_6</i> &#x2014; material icon named "brightness 6" (round).
  static const IconData brightness_6_rounded = IconData(0xf5e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_6</i> &#x2014; material icon named "brightness 6" (outlined).
  static const IconData brightness_6_outlined = IconData(0xeef9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_7</i> &#x2014; material icon named "brightness 7".
  static const IconData brightness_7 = IconData(0xe10b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_7</i> &#x2014; material icon named "brightness 7" (sharp).
  static const IconData brightness_7_sharp = IconData(0xe808, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_7</i> &#x2014; material icon named "brightness 7" (round).
  static const IconData brightness_7_rounded = IconData(0xf5e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_7</i> &#x2014; material icon named "brightness 7" (outlined).
  static const IconData brightness_7_outlined = IconData(0xeefa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_auto</i> &#x2014; material icon named "brightness auto".
  static const IconData brightness_auto = IconData(0xe10c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_auto</i> &#x2014; material icon named "brightness auto" (sharp).
  static const IconData brightness_auto_sharp = IconData(0xe809, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_auto</i> &#x2014; material icon named "brightness auto" (round).
  static const IconData brightness_auto_rounded = IconData(0xf5e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_auto</i> &#x2014; material icon named "brightness auto" (outlined).
  static const IconData brightness_auto_outlined = IconData(0xeefb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_high</i> &#x2014; material icon named "brightness high".
  static const IconData brightness_high = IconData(0xe10d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_high</i> &#x2014; material icon named "brightness high" (sharp).
  static const IconData brightness_high_sharp = IconData(0xe80a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_high</i> &#x2014; material icon named "brightness high" (round).
  static const IconData brightness_high_rounded = IconData(0xf5e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_high</i> &#x2014; material icon named "brightness high" (outlined).
  static const IconData brightness_high_outlined = IconData(0xeefc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_low</i> &#x2014; material icon named "brightness low".
  static const IconData brightness_low = IconData(0xe10e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_low</i> &#x2014; material icon named "brightness low" (sharp).
  static const IconData brightness_low_sharp = IconData(0xe80b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_low</i> &#x2014; material icon named "brightness low" (round).
  static const IconData brightness_low_rounded = IconData(0xf5ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_low</i> &#x2014; material icon named "brightness low" (outlined).
  static const IconData brightness_low_outlined = IconData(0xeefd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_medium</i> &#x2014; material icon named "brightness medium".
  static const IconData brightness_medium = IconData(0xe10f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_medium</i> &#x2014; material icon named "brightness medium" (sharp).
  static const IconData brightness_medium_sharp = IconData(0xe80c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_medium</i> &#x2014; material icon named "brightness medium" (round).
  static const IconData brightness_medium_rounded = IconData(0xf5eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_medium</i> &#x2014; material icon named "brightness medium" (outlined).
  static const IconData brightness_medium_outlined = IconData(0xeefe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">broadcast_on_home</i> &#x2014; material icon named "broadcast on home".
  static const IconData broadcast_on_home = IconData(0xf0791, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">broadcast_on_home</i> &#x2014; material icon named "broadcast on home" (sharp).
  static const IconData broadcast_on_home_sharp = IconData(0xf0739, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">broadcast_on_home</i> &#x2014; material icon named "broadcast on home" (round).
  static const IconData broadcast_on_home_rounded = IconData(0xf07e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">broadcast_on_home</i> &#x2014; material icon named "broadcast on home" (outlined).
  static const IconData broadcast_on_home_outlined = IconData(0xf06e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">broadcast_on_personal</i> &#x2014; material icon named "broadcast on personal".
  static const IconData broadcast_on_personal = IconData(0xf0792, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">broadcast_on_personal</i> &#x2014; material icon named "broadcast on personal" (sharp).
  static const IconData broadcast_on_personal_sharp = IconData(0xf073a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">broadcast_on_personal</i> &#x2014; material icon named "broadcast on personal" (round).
  static const IconData broadcast_on_personal_rounded = IconData(0xf07ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">broadcast_on_personal</i> &#x2014; material icon named "broadcast on personal" (outlined).
  static const IconData broadcast_on_personal_outlined = IconData(0xf06e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">broken_image</i> &#x2014; material icon named "broken image".
  static const IconData broken_image = IconData(0xe110, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">broken_image</i> &#x2014; material icon named "broken image" (sharp).
  static const IconData broken_image_sharp = IconData(0xe80d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">broken_image</i> &#x2014; material icon named "broken image" (round).
  static const IconData broken_image_rounded = IconData(0xf5ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">broken_image</i> &#x2014; material icon named "broken image" (outlined).
  static const IconData broken_image_outlined = IconData(0xeeff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">browse_gallery</i> &#x2014; material icon named "browse gallery".
  static const IconData browse_gallery = IconData(0xf06ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">browse_gallery</i> &#x2014; material icon named "browse gallery" (sharp).
  static const IconData browse_gallery_sharp = IconData(0xf06ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">browse_gallery</i> &#x2014; material icon named "browse gallery" (round).
  static const IconData browse_gallery_rounded = IconData(0xf06c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">browse_gallery</i> &#x2014; material icon named "browse gallery" (outlined).
  static const IconData browse_gallery_outlined = IconData(0xf03bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">browser_not_supported</i> &#x2014; material icon named "browser not supported".
  static const IconData browser_not_supported = IconData(0xe111, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">browser_not_supported</i> &#x2014; material icon named "browser not supported" (sharp).
  static const IconData browser_not_supported_sharp = IconData(0xe80e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">browser_not_supported</i> &#x2014; material icon named "browser not supported" (round).
  static const IconData browser_not_supported_rounded = IconData(0xf5ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">browser_not_supported</i> &#x2014; material icon named "browser not supported" (outlined).
  static const IconData browser_not_supported_outlined = IconData(0xef00, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">browser_updated</i> &#x2014; material icon named "browser updated".
  static const IconData browser_updated = IconData(0xf04c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">browser_updated</i> &#x2014; material icon named "browser updated" (sharp).
  static const IconData browser_updated_sharp = IconData(0xf03d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">browser_updated</i> &#x2014; material icon named "browser updated" (round).
  static const IconData browser_updated_rounded = IconData(0xf02e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">browser_updated</i> &#x2014; material icon named "browser updated" (outlined).
  static const IconData browser_updated_outlined = IconData(0xf05c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brunch_dining</i> &#x2014; material icon named "brunch dining".
  static const IconData brunch_dining = IconData(0xe112, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brunch_dining</i> &#x2014; material icon named "brunch dining" (sharp).
  static const IconData brunch_dining_sharp = IconData(0xe80f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brunch_dining</i> &#x2014; material icon named "brunch dining" (round).
  static const IconData brunch_dining_rounded = IconData(0xf5ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brunch_dining</i> &#x2014; material icon named "brunch dining" (outlined).
  static const IconData brunch_dining_outlined = IconData(0xef01, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brush</i> &#x2014; material icon named "brush".
  static const IconData brush = IconData(0xe113, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brush</i> &#x2014; material icon named "brush" (sharp).
  static const IconData brush_sharp = IconData(0xe810, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brush</i> &#x2014; material icon named "brush" (round).
  static const IconData brush_rounded = IconData(0xf5ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brush</i> &#x2014; material icon named "brush" (outlined).
  static const IconData brush_outlined = IconData(0xef02, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bubble_chart</i> &#x2014; material icon named "bubble chart".
  static const IconData bubble_chart = IconData(0xe114, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bubble_chart</i> &#x2014; material icon named "bubble chart" (sharp).
  static const IconData bubble_chart_sharp = IconData(0xe811, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bubble_chart</i> &#x2014; material icon named "bubble chart" (round).
  static const IconData bubble_chart_rounded = IconData(0xf5f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bubble_chart</i> &#x2014; material icon named "bubble chart" (outlined).
  static const IconData bubble_chart_outlined = IconData(0xef03, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bug_report</i> &#x2014; material icon named "bug report".
  static const IconData bug_report = IconData(0xe115, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bug_report</i> &#x2014; material icon named "bug report" (sharp).
  static const IconData bug_report_sharp = IconData(0xe812, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bug_report</i> &#x2014; material icon named "bug report" (round).
  static const IconData bug_report_rounded = IconData(0xf5f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bug_report</i> &#x2014; material icon named "bug report" (outlined).
  static const IconData bug_report_outlined = IconData(0xef04, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">build</i> &#x2014; material icon named "build".
  static const IconData build = IconData(0xe116, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">build</i> &#x2014; material icon named "build" (sharp).
  static const IconData build_sharp = IconData(0xe814, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">build</i> &#x2014; material icon named "build" (round).
  static const IconData build_rounded = IconData(0xf5f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">build</i> &#x2014; material icon named "build" (outlined).
  static const IconData build_outlined = IconData(0xef06, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">build_circle</i> &#x2014; material icon named "build circle".
  static const IconData build_circle = IconData(0xe117, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">build_circle</i> &#x2014; material icon named "build circle" (sharp).
  static const IconData build_circle_sharp = IconData(0xe813, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">build_circle</i> &#x2014; material icon named "build circle" (round).
  static const IconData build_circle_rounded = IconData(0xf5f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">build_circle</i> &#x2014; material icon named "build circle" (outlined).
  static const IconData build_circle_outlined = IconData(0xef05, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bungalow</i> &#x2014; material icon named "bungalow".
  static const IconData bungalow = IconData(0xe118, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bungalow</i> &#x2014; material icon named "bungalow" (sharp).
  static const IconData bungalow_sharp = IconData(0xe815, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bungalow</i> &#x2014; material icon named "bungalow" (round).
  static const IconData bungalow_rounded = IconData(0xf5f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bungalow</i> &#x2014; material icon named "bungalow" (outlined).
  static const IconData bungalow_outlined = IconData(0xef07, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">burst_mode</i> &#x2014; material icon named "burst mode".
  static const IconData burst_mode = IconData(0xe119, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">burst_mode</i> &#x2014; material icon named "burst mode" (sharp).
  static const IconData burst_mode_sharp = IconData(0xe816, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">burst_mode</i> &#x2014; material icon named "burst mode" (round).
  static const IconData burst_mode_rounded = IconData(0xf5f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">burst_mode</i> &#x2014; material icon named "burst mode" (outlined).
  static const IconData burst_mode_outlined = IconData(0xef08, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bus_alert</i> &#x2014; material icon named "bus alert".
  static const IconData bus_alert = IconData(0xe11a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bus_alert</i> &#x2014; material icon named "bus alert" (sharp).
  static const IconData bus_alert_sharp = IconData(0xe817, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bus_alert</i> &#x2014; material icon named "bus alert" (round).
  static const IconData bus_alert_rounded = IconData(0xf5f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bus_alert</i> &#x2014; material icon named "bus alert" (outlined).
  static const IconData bus_alert_outlined = IconData(0xef09, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">business</i> &#x2014; material icon named "business".
  static const IconData business = IconData(0xe11b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">business</i> &#x2014; material icon named "business" (sharp).
  static const IconData business_sharp = IconData(0xe819, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">business</i> &#x2014; material icon named "business" (round).
  static const IconData business_rounded = IconData(0xf5f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">business</i> &#x2014; material icon named "business" (outlined).
  static const IconData business_outlined = IconData(0xef0b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">business_center</i> &#x2014; material icon named "business center".
  static const IconData business_center = IconData(0xe11c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">business_center</i> &#x2014; material icon named "business center" (sharp).
  static const IconData business_center_sharp = IconData(0xe818, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">business_center</i> &#x2014; material icon named "business center" (round).
  static const IconData business_center_rounded = IconData(0xf5f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">business_center</i> &#x2014; material icon named "business center" (outlined).
  static const IconData business_center_outlined = IconData(0xef0a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cabin</i> &#x2014; material icon named "cabin".
  static const IconData cabin = IconData(0xe11d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cabin</i> &#x2014; material icon named "cabin" (sharp).
  static const IconData cabin_sharp = IconData(0xe81a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cabin</i> &#x2014; material icon named "cabin" (round).
  static const IconData cabin_rounded = IconData(0xf5f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cabin</i> &#x2014; material icon named "cabin" (outlined).
  static const IconData cabin_outlined = IconData(0xef0c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cable</i> &#x2014; material icon named "cable".
  static const IconData cable = IconData(0xe11e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cable</i> &#x2014; material icon named "cable" (sharp).
  static const IconData cable_sharp = IconData(0xe81b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cable</i> &#x2014; material icon named "cable" (round).
  static const IconData cable_rounded = IconData(0xf5fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cable</i> &#x2014; material icon named "cable" (outlined).
  static const IconData cable_outlined = IconData(0xef0d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cached</i> &#x2014; material icon named "cached".
  static const IconData cached = IconData(0xe11f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cached</i> &#x2014; material icon named "cached" (sharp).
  static const IconData cached_sharp = IconData(0xe81c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cached</i> &#x2014; material icon named "cached" (round).
  static const IconData cached_rounded = IconData(0xf5fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cached</i> &#x2014; material icon named "cached" (outlined).
  static const IconData cached_outlined = IconData(0xef0e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cake</i> &#x2014; material icon named "cake".
  static const IconData cake = IconData(0xe120, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cake</i> &#x2014; material icon named "cake" (sharp).
  static const IconData cake_sharp = IconData(0xe81d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cake</i> &#x2014; material icon named "cake" (round).
  static const IconData cake_rounded = IconData(0xf5fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cake</i> &#x2014; material icon named "cake" (outlined).
  static const IconData cake_outlined = IconData(0xef0f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">calculate</i> &#x2014; material icon named "calculate".
  static const IconData calculate = IconData(0xe121, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">calculate</i> &#x2014; material icon named "calculate" (sharp).
  static const IconData calculate_sharp = IconData(0xe81e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">calculate</i> &#x2014; material icon named "calculate" (round).
  static const IconData calculate_rounded = IconData(0xf5fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">calculate</i> &#x2014; material icon named "calculate" (outlined).
  static const IconData calculate_outlined = IconData(0xef10, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">calendar_month</i> &#x2014; material icon named "calendar month".
  static const IconData calendar_month = IconData(0xf06bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">calendar_month</i> &#x2014; material icon named "calendar month" (sharp).
  static const IconData calendar_month_sharp = IconData(0xf06ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">calendar_month</i> &#x2014; material icon named "calendar month" (round).
  static const IconData calendar_month_rounded = IconData(0xf06c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">calendar_month</i> &#x2014; material icon named "calendar month" (outlined).
  static const IconData calendar_month_outlined = IconData(0xf051f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">calendar_today</i> &#x2014; material icon named "calendar today".
  static const IconData calendar_today = IconData(0xe122, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">calendar_today</i> &#x2014; material icon named "calendar today" (sharp).
  static const IconData calendar_today_sharp = IconData(0xe81f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">calendar_today</i> &#x2014; material icon named "calendar today" (round).
  static const IconData calendar_today_rounded = IconData(0xf5fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">calendar_today</i> &#x2014; material icon named "calendar today" (outlined).
  static const IconData calendar_today_outlined = IconData(0xef11, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">calendar_view_day</i> &#x2014; material icon named "calendar view day".
  static const IconData calendar_view_day = IconData(0xe123, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">calendar_view_day</i> &#x2014; material icon named "calendar view day" (sharp).
  static const IconData calendar_view_day_sharp = IconData(0xe820, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">calendar_view_day</i> &#x2014; material icon named "calendar view day" (round).
  static const IconData calendar_view_day_rounded = IconData(0xf5ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">calendar_view_day</i> &#x2014; material icon named "calendar view day" (outlined).
  static const IconData calendar_view_day_outlined = IconData(0xef12, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">calendar_view_month</i> &#x2014; material icon named "calendar view month".
  static const IconData calendar_view_month = IconData(0xe124, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">calendar_view_month</i> &#x2014; material icon named "calendar view month" (sharp).
  static const IconData calendar_view_month_sharp = IconData(0xe821, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">calendar_view_month</i> &#x2014; material icon named "calendar view month" (round).
  static const IconData calendar_view_month_rounded = IconData(0xf600, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">calendar_view_month</i> &#x2014; material icon named "calendar view month" (outlined).
  static const IconData calendar_view_month_outlined = IconData(0xef13, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">calendar_view_week</i> &#x2014; material icon named "calendar view week".
  static const IconData calendar_view_week = IconData(0xe125, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">calendar_view_week</i> &#x2014; material icon named "calendar view week" (sharp).
  static const IconData calendar_view_week_sharp = IconData(0xe822, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">calendar_view_week</i> &#x2014; material icon named "calendar view week" (round).
  static const IconData calendar_view_week_rounded = IconData(0xf601, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">calendar_view_week</i> &#x2014; material icon named "calendar view week" (outlined).
  static const IconData calendar_view_week_outlined = IconData(0xef14, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">call</i> &#x2014; material icon named "call".
  static const IconData call = IconData(0xe126, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">call</i> &#x2014; material icon named "call" (sharp).
  static const IconData call_sharp = IconData(0xe829, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">call</i> &#x2014; material icon named "call" (round).
  static const IconData call_rounded = IconData(0xf608, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">call</i> &#x2014; material icon named "call" (outlined).
  static const IconData call_outlined = IconData(0xef1a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">call_end</i> &#x2014; material icon named "call end".
  static const IconData call_end = IconData(0xe127, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">call_end</i> &#x2014; material icon named "call end" (sharp).
  static const IconData call_end_sharp = IconData(0xe823, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">call_end</i> &#x2014; material icon named "call end" (round).
  static const IconData call_end_rounded = IconData(0xf602, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">call_end</i> &#x2014; material icon named "call end" (outlined).
  static const IconData call_end_outlined = IconData(0xef15, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">call_made</i> &#x2014; material icon named "call made".
  static const IconData call_made = IconData(0xe128, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">call_made</i> &#x2014; material icon named "call made" (sharp).
  static const IconData call_made_sharp = IconData(0xe824, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">call_made</i> &#x2014; material icon named "call made" (round).
  static const IconData call_made_rounded = IconData(0xf603, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">call_made</i> &#x2014; material icon named "call made" (outlined).
  static const IconData call_made_outlined = IconData(0xef16, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">call_merge</i> &#x2014; material icon named "call merge".
  static const IconData call_merge = IconData(0xe129, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">call_merge</i> &#x2014; material icon named "call merge" (sharp).
  static const IconData call_merge_sharp = IconData(0xe825, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">call_merge</i> &#x2014; material icon named "call merge" (round).
  static const IconData call_merge_rounded = IconData(0xf604, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">call_merge</i> &#x2014; material icon named "call merge" (outlined).
  static const IconData call_merge_outlined = IconData(0xef17, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">call_missed</i> &#x2014; material icon named "call missed".
  static const IconData call_missed = IconData(0xe12a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">call_missed</i> &#x2014; material icon named "call missed" (sharp).
  static const IconData call_missed_sharp = IconData(0xe827, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">call_missed</i> &#x2014; material icon named "call missed" (round).
  static const IconData call_missed_rounded = IconData(0xf606, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">call_missed</i> &#x2014; material icon named "call missed" (outlined).
  static const IconData call_missed_outlined = IconData(0xef19, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">call_missed_outgoing</i> &#x2014; material icon named "call missed outgoing".
  static const IconData call_missed_outgoing = IconData(0xe12b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">call_missed_outgoing</i> &#x2014; material icon named "call missed outgoing" (sharp).
  static const IconData call_missed_outgoing_sharp = IconData(0xe826, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">call_missed_outgoing</i> &#x2014; material icon named "call missed outgoing" (round).
  static const IconData call_missed_outgoing_rounded = IconData(0xf605, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">call_missed_outgoing</i> &#x2014; material icon named "call missed outgoing" (outlined).
  static const IconData call_missed_outgoing_outlined = IconData(0xef18, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">call_received</i> &#x2014; material icon named "call received".
  static const IconData call_received = IconData(0xe12c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">call_received</i> &#x2014; material icon named "call received" (sharp).
  static const IconData call_received_sharp = IconData(0xe828, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">call_received</i> &#x2014; material icon named "call received" (round).
  static const IconData call_received_rounded = IconData(0xf607, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">call_received</i> &#x2014; material icon named "call received" (outlined).
  static const IconData call_received_outlined = IconData(0xef1b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">call_split</i> &#x2014; material icon named "call split".
  static const IconData call_split = IconData(0xe12d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">call_split</i> &#x2014; material icon named "call split" (sharp).
  static const IconData call_split_sharp = IconData(0xe82a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">call_split</i> &#x2014; material icon named "call split" (round).
  static const IconData call_split_rounded = IconData(0xf609, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">call_split</i> &#x2014; material icon named "call split" (outlined).
  static const IconData call_split_outlined = IconData(0xef1c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">call_to_action</i> &#x2014; material icon named "call to action".
  static const IconData call_to_action = IconData(0xe12e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">call_to_action</i> &#x2014; material icon named "call to action" (sharp).
  static const IconData call_to_action_sharp = IconData(0xe82b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">call_to_action</i> &#x2014; material icon named "call to action" (round).
  static const IconData call_to_action_rounded = IconData(0xf60a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">call_to_action</i> &#x2014; material icon named "call to action" (outlined).
  static const IconData call_to_action_outlined = IconData(0xef1d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">camera</i> &#x2014; material icon named "camera".
  static const IconData camera = IconData(0xe12f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">camera</i> &#x2014; material icon named "camera" (sharp).
  static const IconData camera_sharp = IconData(0xe833, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">camera</i> &#x2014; material icon named "camera" (round).
  static const IconData camera_rounded = IconData(0xf612, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">camera</i> &#x2014; material icon named "camera" (outlined).
  static const IconData camera_outlined = IconData(0xef23, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">camera_alt</i> &#x2014; material icon named "camera alt".
  static const IconData camera_alt = IconData(0xe130, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">camera_alt</i> &#x2014; material icon named "camera alt" (sharp).
  static const IconData camera_alt_sharp = IconData(0xe82c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">camera_alt</i> &#x2014; material icon named "camera alt" (round).
  static const IconData camera_alt_rounded = IconData(0xf60b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">camera_alt</i> &#x2014; material icon named "camera alt" (outlined).
  static const IconData camera_alt_outlined = IconData(0xef1e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">camera_enhance</i> &#x2014; material icon named "camera enhance".
  static const IconData camera_enhance = IconData(0xe131, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">camera_enhance</i> &#x2014; material icon named "camera enhance" (sharp).
  static const IconData camera_enhance_sharp = IconData(0xe82d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">camera_enhance</i> &#x2014; material icon named "camera enhance" (round).
  static const IconData camera_enhance_rounded = IconData(0xf60c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">camera_enhance</i> &#x2014; material icon named "camera enhance" (outlined).
  static const IconData camera_enhance_outlined = IconData(0xef1f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">camera_front</i> &#x2014; material icon named "camera front".
  static const IconData camera_front = IconData(0xe132, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">camera_front</i> &#x2014; material icon named "camera front" (sharp).
  static const IconData camera_front_sharp = IconData(0xe82e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">camera_front</i> &#x2014; material icon named "camera front" (round).
  static const IconData camera_front_rounded = IconData(0xf60d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">camera_front</i> &#x2014; material icon named "camera front" (outlined).
  static const IconData camera_front_outlined = IconData(0xef20, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">camera_indoor</i> &#x2014; material icon named "camera indoor".
  static const IconData camera_indoor = IconData(0xe133, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">camera_indoor</i> &#x2014; material icon named "camera indoor" (sharp).
  static const IconData camera_indoor_sharp = IconData(0xe82f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">camera_indoor</i> &#x2014; material icon named "camera indoor" (round).
  static const IconData camera_indoor_rounded = IconData(0xf60e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">camera_indoor</i> &#x2014; material icon named "camera indoor" (outlined).
  static const IconData camera_indoor_outlined = IconData(0xef21, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">camera_outdoor</i> &#x2014; material icon named "camera outdoor".
  static const IconData camera_outdoor = IconData(0xe134, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">camera_outdoor</i> &#x2014; material icon named "camera outdoor" (sharp).
  static const IconData camera_outdoor_sharp = IconData(0xe830, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">camera_outdoor</i> &#x2014; material icon named "camera outdoor" (round).
  static const IconData camera_outdoor_rounded = IconData(0xf60f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">camera_outdoor</i> &#x2014; material icon named "camera outdoor" (outlined).
  static const IconData camera_outdoor_outlined = IconData(0xef22, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">camera_rear</i> &#x2014; material icon named "camera rear".
  static const IconData camera_rear = IconData(0xe135, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">camera_rear</i> &#x2014; material icon named "camera rear" (sharp).
  static const IconData camera_rear_sharp = IconData(0xe831, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">camera_rear</i> &#x2014; material icon named "camera rear" (round).
  static const IconData camera_rear_rounded = IconData(0xf610, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">camera_rear</i> &#x2014; material icon named "camera rear" (outlined).
  static const IconData camera_rear_outlined = IconData(0xef24, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">camera_roll</i> &#x2014; material icon named "camera roll".
  static const IconData camera_roll = IconData(0xe136, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">camera_roll</i> &#x2014; material icon named "camera roll" (sharp).
  static const IconData camera_roll_sharp = IconData(0xe832, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">camera_roll</i> &#x2014; material icon named "camera roll" (round).
  static const IconData camera_roll_rounded = IconData(0xf611, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">camera_roll</i> &#x2014; material icon named "camera roll" (outlined).
  static const IconData camera_roll_outlined = IconData(0xef25, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cameraswitch</i> &#x2014; material icon named "cameraswitch".
  static const IconData cameraswitch = IconData(0xe137, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cameraswitch</i> &#x2014; material icon named "cameraswitch" (sharp).
  static const IconData cameraswitch_sharp = IconData(0xe834, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cameraswitch</i> &#x2014; material icon named "cameraswitch" (round).
  static const IconData cameraswitch_rounded = IconData(0xf613, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cameraswitch</i> &#x2014; material icon named "cameraswitch" (outlined).
  static const IconData cameraswitch_outlined = IconData(0xef26, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">campaign</i> &#x2014; material icon named "campaign".
  static const IconData campaign = IconData(0xe138, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">campaign</i> &#x2014; material icon named "campaign" (sharp).
  static const IconData campaign_sharp = IconData(0xe835, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">campaign</i> &#x2014; material icon named "campaign" (round).
  static const IconData campaign_rounded = IconData(0xf614, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">campaign</i> &#x2014; material icon named "campaign" (outlined).
  static const IconData campaign_outlined = IconData(0xef27, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cancel</i> &#x2014; material icon named "cancel".
  static const IconData cancel = IconData(0xe139, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cancel</i> &#x2014; material icon named "cancel" (sharp).
  static const IconData cancel_sharp = IconData(0xe838, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cancel</i> &#x2014; material icon named "cancel" (round).
  static const IconData cancel_rounded = IconData(0xf616, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cancel</i> &#x2014; material icon named "cancel" (outlined).
  static const IconData cancel_outlined = IconData(0xef28, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cancel_presentation</i> &#x2014; material icon named "cancel presentation".
  static const IconData cancel_presentation = IconData(0xe13a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cancel_presentation</i> &#x2014; material icon named "cancel presentation" (sharp).
  static const IconData cancel_presentation_sharp = IconData(0xe836, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cancel_presentation</i> &#x2014; material icon named "cancel presentation" (round).
  static const IconData cancel_presentation_rounded = IconData(0xf615, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cancel_presentation</i> &#x2014; material icon named "cancel presentation" (outlined).
  static const IconData cancel_presentation_outlined = IconData(0xef29, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cancel_schedule_send</i> &#x2014; material icon named "cancel schedule send".
  static const IconData cancel_schedule_send = IconData(0xe13b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cancel_schedule_send</i> &#x2014; material icon named "cancel schedule send" (sharp).
  static const IconData cancel_schedule_send_sharp = IconData(0xe837, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cancel_schedule_send</i> &#x2014; material icon named "cancel schedule send" (round).
  static const IconData cancel_schedule_send_rounded = IconData(0xf617, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cancel_schedule_send</i> &#x2014; material icon named "cancel schedule send" (outlined).
  static const IconData cancel_schedule_send_outlined = IconData(0xef2a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">candlestick_chart</i> &#x2014; material icon named "candlestick chart".
  static const IconData candlestick_chart = IconData(0xf04ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">candlestick_chart</i> &#x2014; material icon named "candlestick chart" (sharp).
  static const IconData candlestick_chart_sharp = IconData(0xf03d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">candlestick_chart</i> &#x2014; material icon named "candlestick chart" (round).
  static const IconData candlestick_chart_rounded = IconData(0xf02e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">candlestick_chart</i> &#x2014; material icon named "candlestick chart" (outlined).
  static const IconData candlestick_chart_outlined = IconData(0xf05c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">car_crash</i> &#x2014; material icon named "car crash".
  static const IconData car_crash = IconData(0xf0793, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">car_crash</i> &#x2014; material icon named "car crash" (sharp).
  static const IconData car_crash_sharp = IconData(0xf073b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">car_crash</i> &#x2014; material icon named "car crash" (round).
  static const IconData car_crash_rounded = IconData(0xf07eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">car_crash</i> &#x2014; material icon named "car crash" (outlined).
  static const IconData car_crash_outlined = IconData(0xf06e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">car_rental</i> &#x2014; material icon named "car rental".
  static const IconData car_rental = IconData(0xe13c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">car_rental</i> &#x2014; material icon named "car rental" (sharp).
  static const IconData car_rental_sharp = IconData(0xe839, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">car_rental</i> &#x2014; material icon named "car rental" (round).
  static const IconData car_rental_rounded = IconData(0xf618, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">car_rental</i> &#x2014; material icon named "car rental" (outlined).
  static const IconData car_rental_outlined = IconData(0xef2b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">car_repair</i> &#x2014; material icon named "car repair".
  static const IconData car_repair = IconData(0xe13d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">car_repair</i> &#x2014; material icon named "car repair" (sharp).
  static const IconData car_repair_sharp = IconData(0xe83a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">car_repair</i> &#x2014; material icon named "car repair" (round).
  static const IconData car_repair_rounded = IconData(0xf619, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">car_repair</i> &#x2014; material icon named "car repair" (outlined).
  static const IconData car_repair_outlined = IconData(0xef2c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">card_giftcard</i> &#x2014; material icon named "card giftcard".
  static const IconData card_giftcard = IconData(0xe13e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">card_giftcard</i> &#x2014; material icon named "card giftcard" (sharp).
  static const IconData card_giftcard_sharp = IconData(0xe83b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">card_giftcard</i> &#x2014; material icon named "card giftcard" (round).
  static const IconData card_giftcard_rounded = IconData(0xf61a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">card_giftcard</i> &#x2014; material icon named "card giftcard" (outlined).
  static const IconData card_giftcard_outlined = IconData(0xef2d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">card_membership</i> &#x2014; material icon named "card membership".
  static const IconData card_membership = IconData(0xe13f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">card_membership</i> &#x2014; material icon named "card membership" (sharp).
  static const IconData card_membership_sharp = IconData(0xe83c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">card_membership</i> &#x2014; material icon named "card membership" (round).
  static const IconData card_membership_rounded = IconData(0xf61b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">card_membership</i> &#x2014; material icon named "card membership" (outlined).
  static const IconData card_membership_outlined = IconData(0xef2e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">card_travel</i> &#x2014; material icon named "card travel".
  static const IconData card_travel = IconData(0xe140, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">card_travel</i> &#x2014; material icon named "card travel" (sharp).
  static const IconData card_travel_sharp = IconData(0xe83d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">card_travel</i> &#x2014; material icon named "card travel" (round).
  static const IconData card_travel_rounded = IconData(0xf61c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">card_travel</i> &#x2014; material icon named "card travel" (outlined).
  static const IconData card_travel_outlined = IconData(0xef2f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">carpenter</i> &#x2014; material icon named "carpenter".
  static const IconData carpenter = IconData(0xe141, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">carpenter</i> &#x2014; material icon named "carpenter" (sharp).
  static const IconData carpenter_sharp = IconData(0xe83e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">carpenter</i> &#x2014; material icon named "carpenter" (round).
  static const IconData carpenter_rounded = IconData(0xf61d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">carpenter</i> &#x2014; material icon named "carpenter" (outlined).
  static const IconData carpenter_outlined = IconData(0xef30, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cases</i> &#x2014; material icon named "cases".
  static const IconData cases = IconData(0xe142, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cases</i> &#x2014; material icon named "cases" (sharp).
  static const IconData cases_sharp = IconData(0xe83f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cases</i> &#x2014; material icon named "cases" (round).
  static const IconData cases_rounded = IconData(0xf61e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cases</i> &#x2014; material icon named "cases" (outlined).
  static const IconData cases_outlined = IconData(0xef31, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">casino</i> &#x2014; material icon named "casino".
  static const IconData casino = IconData(0xe143, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">casino</i> &#x2014; material icon named "casino" (sharp).
  static const IconData casino_sharp = IconData(0xe840, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">casino</i> &#x2014; material icon named "casino" (round).
  static const IconData casino_rounded = IconData(0xf61f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">casino</i> &#x2014; material icon named "casino" (outlined).
  static const IconData casino_outlined = IconData(0xef32, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cast</i> &#x2014; material icon named "cast".
  static const IconData cast = IconData(0xe144, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cast</i> &#x2014; material icon named "cast" (sharp).
  static const IconData cast_sharp = IconData(0xe843, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cast</i> &#x2014; material icon named "cast" (round).
  static const IconData cast_rounded = IconData(0xf622, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cast</i> &#x2014; material icon named "cast" (outlined).
  static const IconData cast_outlined = IconData(0xef35, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cast_connected</i> &#x2014; material icon named "cast connected".
  static const IconData cast_connected = IconData(0xe145, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cast_connected</i> &#x2014; material icon named "cast connected" (sharp).
  static const IconData cast_connected_sharp = IconData(0xe841, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cast_connected</i> &#x2014; material icon named "cast connected" (round).
  static const IconData cast_connected_rounded = IconData(0xf620, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cast_connected</i> &#x2014; material icon named "cast connected" (outlined).
  static const IconData cast_connected_outlined = IconData(0xef33, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cast_for_education</i> &#x2014; material icon named "cast for education".
  static const IconData cast_for_education = IconData(0xe146, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cast_for_education</i> &#x2014; material icon named "cast for education" (sharp).
  static const IconData cast_for_education_sharp = IconData(0xe842, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cast_for_education</i> &#x2014; material icon named "cast for education" (round).
  static const IconData cast_for_education_rounded = IconData(0xf621, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cast_for_education</i> &#x2014; material icon named "cast for education" (outlined).
  static const IconData cast_for_education_outlined = IconData(0xef34, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">castle</i> &#x2014; material icon named "castle".
  static const IconData castle = IconData(0xf04cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">castle</i> &#x2014; material icon named "castle" (sharp).
  static const IconData castle_sharp = IconData(0xf03d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">castle</i> &#x2014; material icon named "castle" (round).
  static const IconData castle_rounded = IconData(0xf02e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">castle</i> &#x2014; material icon named "castle" (outlined).
  static const IconData castle_outlined = IconData(0xf05c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">catching_pokemon</i> &#x2014; material icon named "catching pokemon".
  static const IconData catching_pokemon = IconData(0xe147, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">catching_pokemon</i> &#x2014; material icon named "catching pokemon" (sharp).
  static const IconData catching_pokemon_sharp = IconData(0xe844, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">catching_pokemon</i> &#x2014; material icon named "catching pokemon" (round).
  static const IconData catching_pokemon_rounded = IconData(0xf623, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">catching_pokemon</i> &#x2014; material icon named "catching pokemon" (outlined).
  static const IconData catching_pokemon_outlined = IconData(0xef36, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">category</i> &#x2014; material icon named "category".
  static const IconData category = IconData(0xe148, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">category</i> &#x2014; material icon named "category" (sharp).
  static const IconData category_sharp = IconData(0xe845, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">category</i> &#x2014; material icon named "category" (round).
  static const IconData category_rounded = IconData(0xf624, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">category</i> &#x2014; material icon named "category" (outlined).
  static const IconData category_outlined = IconData(0xef37, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">celebration</i> &#x2014; material icon named "celebration".
  static const IconData celebration = IconData(0xe149, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">celebration</i> &#x2014; material icon named "celebration" (sharp).
  static const IconData celebration_sharp = IconData(0xe846, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">celebration</i> &#x2014; material icon named "celebration" (round).
  static const IconData celebration_rounded = IconData(0xf625, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">celebration</i> &#x2014; material icon named "celebration" (outlined).
  static const IconData celebration_outlined = IconData(0xef38, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cell_tower</i> &#x2014; material icon named "cell tower".
  static const IconData cell_tower = IconData(0xf04cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cell_tower</i> &#x2014; material icon named "cell tower" (sharp).
  static const IconData cell_tower_sharp = IconData(0xf03d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cell_tower</i> &#x2014; material icon named "cell tower" (round).
  static const IconData cell_tower_rounded = IconData(0xf02e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cell_tower</i> &#x2014; material icon named "cell tower" (outlined).
  static const IconData cell_tower_outlined = IconData(0xf05c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cell_wifi</i> &#x2014; material icon named "cell wifi".
  static const IconData cell_wifi = IconData(0xe14a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cell_wifi</i> &#x2014; material icon named "cell wifi" (sharp).
  static const IconData cell_wifi_sharp = IconData(0xe847, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cell_wifi</i> &#x2014; material icon named "cell wifi" (round).
  static const IconData cell_wifi_rounded = IconData(0xf626, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cell_wifi</i> &#x2014; material icon named "cell wifi" (outlined).
  static const IconData cell_wifi_outlined = IconData(0xef39, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">center_focus_strong</i> &#x2014; material icon named "center focus strong".
  static const IconData center_focus_strong = IconData(0xe14b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">center_focus_strong</i> &#x2014; material icon named "center focus strong" (sharp).
  static const IconData center_focus_strong_sharp = IconData(0xe848, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">center_focus_strong</i> &#x2014; material icon named "center focus strong" (round).
  static const IconData center_focus_strong_rounded = IconData(0xf627, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">center_focus_strong</i> &#x2014; material icon named "center focus strong" (outlined).
  static const IconData center_focus_strong_outlined = IconData(0xef3a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">center_focus_weak</i> &#x2014; material icon named "center focus weak".
  static const IconData center_focus_weak = IconData(0xe14c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">center_focus_weak</i> &#x2014; material icon named "center focus weak" (sharp).
  static const IconData center_focus_weak_sharp = IconData(0xe849, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">center_focus_weak</i> &#x2014; material icon named "center focus weak" (round).
  static const IconData center_focus_weak_rounded = IconData(0xf628, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">center_focus_weak</i> &#x2014; material icon named "center focus weak" (outlined).
  static const IconData center_focus_weak_outlined = IconData(0xef3b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">chair</i> &#x2014; material icon named "chair".
  static const IconData chair = IconData(0xe14d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">chair</i> &#x2014; material icon named "chair" (sharp).
  static const IconData chair_sharp = IconData(0xe84b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">chair</i> &#x2014; material icon named "chair" (round).
  static const IconData chair_rounded = IconData(0xf62a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">chair</i> &#x2014; material icon named "chair" (outlined).
  static const IconData chair_outlined = IconData(0xef3d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">chair_alt</i> &#x2014; material icon named "chair alt".
  static const IconData chair_alt = IconData(0xe14e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">chair_alt</i> &#x2014; material icon named "chair alt" (sharp).
  static const IconData chair_alt_sharp = IconData(0xe84a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">chair_alt</i> &#x2014; material icon named "chair alt" (round).
  static const IconData chair_alt_rounded = IconData(0xf629, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">chair_alt</i> &#x2014; material icon named "chair alt" (outlined).
  static const IconData chair_alt_outlined = IconData(0xef3c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">chalet</i> &#x2014; material icon named "chalet".
  static const IconData chalet = IconData(0xe14f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">chalet</i> &#x2014; material icon named "chalet" (sharp).
  static const IconData chalet_sharp = IconData(0xe84c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">chalet</i> &#x2014; material icon named "chalet" (round).
  static const IconData chalet_rounded = IconData(0xf62b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">chalet</i> &#x2014; material icon named "chalet" (outlined).
  static const IconData chalet_outlined = IconData(0xef3e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">change_circle</i> &#x2014; material icon named "change circle".
  static const IconData change_circle = IconData(0xe150, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">change_circle</i> &#x2014; material icon named "change circle" (sharp).
  static const IconData change_circle_sharp = IconData(0xe84d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">change_circle</i> &#x2014; material icon named "change circle" (round).
  static const IconData change_circle_rounded = IconData(0xf62c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">change_circle</i> &#x2014; material icon named "change circle" (outlined).
  static const IconData change_circle_outlined = IconData(0xef3f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">change_history</i> &#x2014; material icon named "change history".
  static const IconData change_history = IconData(0xe151, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">change_history</i> &#x2014; material icon named "change history" (sharp).
  static const IconData change_history_sharp = IconData(0xe84e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">change_history</i> &#x2014; material icon named "change history" (round).
  static const IconData change_history_rounded = IconData(0xf62d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">change_history</i> &#x2014; material icon named "change history" (outlined).
  static const IconData change_history_outlined = IconData(0xef40, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">charging_station</i> &#x2014; material icon named "charging station".
  static const IconData charging_station = IconData(0xe152, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">charging_station</i> &#x2014; material icon named "charging station" (sharp).
  static const IconData charging_station_sharp = IconData(0xe84f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">charging_station</i> &#x2014; material icon named "charging station" (round).
  static const IconData charging_station_rounded = IconData(0xf62e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">charging_station</i> &#x2014; material icon named "charging station" (outlined).
  static const IconData charging_station_outlined = IconData(0xef41, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">chat</i> &#x2014; material icon named "chat".
  static const IconData chat = IconData(0xe153, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">chat</i> &#x2014; material icon named "chat" (sharp).
  static const IconData chat_sharp = IconData(0xe852, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">chat</i> &#x2014; material icon named "chat" (round).
  static const IconData chat_rounded = IconData(0xf631, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">chat</i> &#x2014; material icon named "chat" (outlined).
  static const IconData chat_outlined = IconData(0xef44, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">chat_bubble</i> &#x2014; material icon named "chat bubble".
  static const IconData chat_bubble = IconData(0xe154, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">chat_bubble</i> &#x2014; material icon named "chat bubble" (sharp).
  static const IconData chat_bubble_sharp = IconData(0xe851, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">chat_bubble</i> &#x2014; material icon named "chat bubble" (round).
  static const IconData chat_bubble_rounded = IconData(0xf630, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">chat_bubble</i> &#x2014; material icon named "chat bubble" (outlined).
  static const IconData chat_bubble_outlined = IconData(0xef43, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">chat_bubble_outline</i> &#x2014; material icon named "chat bubble outline".
  static const IconData chat_bubble_outline = IconData(0xe155, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">chat_bubble_outline</i> &#x2014; material icon named "chat bubble outline" (sharp).
  static const IconData chat_bubble_outline_sharp = IconData(0xe850, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">chat_bubble_outline</i> &#x2014; material icon named "chat bubble outline" (round).
  static const IconData chat_bubble_outline_rounded = IconData(0xf62f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">chat_bubble_outline</i> &#x2014; material icon named "chat bubble outline" (outlined).
  static const IconData chat_bubble_outline_outlined = IconData(0xef42, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">check</i> &#x2014; material icon named "check".
  static const IconData check = IconData(0xe156, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">check</i> &#x2014; material icon named "check" (sharp).
  static const IconData check_sharp = IconData(0xe857, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">check</i> &#x2014; material icon named "check" (round).
  static const IconData check_rounded = IconData(0xf636, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">check</i> &#x2014; material icon named "check" (outlined).
  static const IconData check_outlined = IconData(0xef49, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">check_box</i> &#x2014; material icon named "check box".
  static const IconData check_box = IconData(0xe157, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">check_box</i> &#x2014; material icon named "check box" (sharp).
  static const IconData check_box_sharp = IconData(0xe854, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">check_box</i> &#x2014; material icon named "check box" (round).
  static const IconData check_box_rounded = IconData(0xf633, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">check_box</i> &#x2014; material icon named "check box" (outlined).
  static const IconData check_box_outlined = IconData(0xef46, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">check_box_outline_blank</i> &#x2014; material icon named "check box outline blank".
  static const IconData check_box_outline_blank = IconData(0xe158, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">check_box_outline_blank</i> &#x2014; material icon named "check box outline blank" (sharp).
  static const IconData check_box_outline_blank_sharp = IconData(0xe853, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">check_box_outline_blank</i> &#x2014; material icon named "check box outline blank" (round).
  static const IconData check_box_outline_blank_rounded = IconData(0xf632, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">check_box_outline_blank</i> &#x2014; material icon named "check box outline blank" (outlined).
  static const IconData check_box_outline_blank_outlined = IconData(0xef45, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">check_circle</i> &#x2014; material icon named "check circle".
  static const IconData check_circle = IconData(0xe159, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">check_circle</i> &#x2014; material icon named "check circle" (sharp).
  static const IconData check_circle_sharp = IconData(0xe856, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">check_circle</i> &#x2014; material icon named "check circle" (round).
  static const IconData check_circle_rounded = IconData(0xf635, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">check_circle</i> &#x2014; material icon named "check circle" (outlined).
  static const IconData check_circle_outlined = IconData(0xef48, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">check_circle_outline</i> &#x2014; material icon named "check circle outline".
  static const IconData check_circle_outline = IconData(0xe15a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">check_circle_outline</i> &#x2014; material icon named "check circle outline" (sharp).
  static const IconData check_circle_outline_sharp = IconData(0xe855, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">check_circle_outline</i> &#x2014; material icon named "check circle outline" (round).
  static const IconData check_circle_outline_rounded = IconData(0xf634, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">check_circle_outline</i> &#x2014; material icon named "check circle outline" (outlined).
  static const IconData check_circle_outline_outlined = IconData(0xef47, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">checklist</i> &#x2014; material icon named "checklist".
  static const IconData checklist = IconData(0xe15b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">checklist</i> &#x2014; material icon named "checklist" (sharp).
  static const IconData checklist_sharp = IconData(0xe859, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">checklist</i> &#x2014; material icon named "checklist" (round).
  static const IconData checklist_rounded = IconData(0xf637, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">checklist</i> &#x2014; material icon named "checklist" (outlined).
  static const IconData checklist_outlined = IconData(0xef4a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">checklist_rtl</i> &#x2014; material icon named "checklist rtl".
  static const IconData checklist_rtl = IconData(0xe15c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">checklist_rtl</i> &#x2014; material icon named "checklist rtl" (sharp).
  static const IconData checklist_rtl_sharp = IconData(0xe858, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">checklist_rtl</i> &#x2014; material icon named "checklist rtl" (round).
  static const IconData checklist_rtl_rounded = IconData(0xf638, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">checklist_rtl</i> &#x2014; material icon named "checklist rtl" (outlined).
  static const IconData checklist_rtl_outlined = IconData(0xef4b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">checkroom</i> &#x2014; material icon named "checkroom".
  static const IconData checkroom = IconData(0xe15d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">checkroom</i> &#x2014; material icon named "checkroom" (sharp).
  static const IconData checkroom_sharp = IconData(0xe85a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">checkroom</i> &#x2014; material icon named "checkroom" (round).
  static const IconData checkroom_rounded = IconData(0xf639, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">checkroom</i> &#x2014; material icon named "checkroom" (outlined).
  static const IconData checkroom_outlined = IconData(0xef4c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">chevron_left</i> &#x2014; material icon named "chevron left".
  static const IconData chevron_left = IconData(0xe15e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">chevron_left</i> &#x2014; material icon named "chevron left" (sharp).
  static const IconData chevron_left_sharp = IconData(0xe85b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">chevron_left</i> &#x2014; material icon named "chevron left" (round).
  static const IconData chevron_left_rounded = IconData(0xf63a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">chevron_left</i> &#x2014; material icon named "chevron left" (outlined).
  static const IconData chevron_left_outlined = IconData(0xef4d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">chevron_right</i> &#x2014; material icon named "chevron right".
  static const IconData chevron_right = IconData(0xe15f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">chevron_right</i> &#x2014; material icon named "chevron right" (sharp).
  static const IconData chevron_right_sharp = IconData(0xe85c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">chevron_right</i> &#x2014; material icon named "chevron right" (round).
  static const IconData chevron_right_rounded = IconData(0xf63b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">chevron_right</i> &#x2014; material icon named "chevron right" (outlined).
  static const IconData chevron_right_outlined = IconData(0xef4e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">child_care</i> &#x2014; material icon named "child care".
  static const IconData child_care = IconData(0xe160, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">child_care</i> &#x2014; material icon named "child care" (sharp).
  static const IconData child_care_sharp = IconData(0xe85d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">child_care</i> &#x2014; material icon named "child care" (round).
  static const IconData child_care_rounded = IconData(0xf63c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">child_care</i> &#x2014; material icon named "child care" (outlined).
  static const IconData child_care_outlined = IconData(0xef4f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">child_friendly</i> &#x2014; material icon named "child friendly".
  static const IconData child_friendly = IconData(0xe161, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">child_friendly</i> &#x2014; material icon named "child friendly" (sharp).
  static const IconData child_friendly_sharp = IconData(0xe85e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">child_friendly</i> &#x2014; material icon named "child friendly" (round).
  static const IconData child_friendly_rounded = IconData(0xf63d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">child_friendly</i> &#x2014; material icon named "child friendly" (outlined).
  static const IconData child_friendly_outlined = IconData(0xef50, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">chrome_reader_mode</i> &#x2014; material icon named "chrome reader mode".
  static const IconData chrome_reader_mode = IconData(0xe162, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">chrome_reader_mode</i> &#x2014; material icon named "chrome reader mode" (sharp).
  static const IconData chrome_reader_mode_sharp = IconData(0xe85f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">chrome_reader_mode</i> &#x2014; material icon named "chrome reader mode" (round).
  static const IconData chrome_reader_mode_rounded = IconData(0xf63e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">chrome_reader_mode</i> &#x2014; material icon named "chrome reader mode" (outlined).
  static const IconData chrome_reader_mode_outlined = IconData(0xef51, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">church</i> &#x2014; material icon named "church".
  static const IconData church = IconData(0xf04cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">church</i> &#x2014; material icon named "church" (sharp).
  static const IconData church_sharp = IconData(0xf03da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">church</i> &#x2014; material icon named "church" (round).
  static const IconData church_rounded = IconData(0xf02e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">church</i> &#x2014; material icon named "church" (outlined).
  static const IconData church_outlined = IconData(0xf05c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">circle</i> &#x2014; material icon named "circle".
  static const IconData circle = IconData(0xe163, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">circle</i> &#x2014; material icon named "circle" (sharp).
  static const IconData circle_sharp = IconData(0xe861, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">circle</i> &#x2014; material icon named "circle" (round).
  static const IconData circle_rounded = IconData(0xf640, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">circle</i> &#x2014; material icon named "circle" (outlined).
  static const IconData circle_outlined = IconData(0xef53, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">circle_notifications</i> &#x2014; material icon named "circle notifications".
  static const IconData circle_notifications = IconData(0xe164, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">circle_notifications</i> &#x2014; material icon named "circle notifications" (sharp).
  static const IconData circle_notifications_sharp = IconData(0xe860, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">circle_notifications</i> &#x2014; material icon named "circle notifications" (round).
  static const IconData circle_notifications_rounded = IconData(0xf63f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">circle_notifications</i> &#x2014; material icon named "circle notifications" (outlined).
  static const IconData circle_notifications_outlined = IconData(0xef52, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">class</i> &#x2014; material icon named "class".
  static const IconData class_ = IconData(0xe165, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">class</i> &#x2014; material icon named "class" (sharp).
  static const IconData class_sharp = IconData(0xe862, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">class</i> &#x2014; material icon named "class" (round).
  static const IconData class_rounded = IconData(0xf641, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">class</i> &#x2014; material icon named "class" (outlined).
  static const IconData class_outlined = IconData(0xef54, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">clean_hands</i> &#x2014; material icon named "clean hands".
  static const IconData clean_hands = IconData(0xe166, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">clean_hands</i> &#x2014; material icon named "clean hands" (sharp).
  static const IconData clean_hands_sharp = IconData(0xe863, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">clean_hands</i> &#x2014; material icon named "clean hands" (round).
  static const IconData clean_hands_rounded = IconData(0xf642, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">clean_hands</i> &#x2014; material icon named "clean hands" (outlined).
  static const IconData clean_hands_outlined = IconData(0xef55, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cleaning_services</i> &#x2014; material icon named "cleaning services".
  static const IconData cleaning_services = IconData(0xe167, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cleaning_services</i> &#x2014; material icon named "cleaning services" (sharp).
  static const IconData cleaning_services_sharp = IconData(0xe864, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cleaning_services</i> &#x2014; material icon named "cleaning services" (round).
  static const IconData cleaning_services_rounded = IconData(0xf643, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cleaning_services</i> &#x2014; material icon named "cleaning services" (outlined).
  static const IconData cleaning_services_outlined = IconData(0xef56, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">clear</i> &#x2014; material icon named "clear".
  static const IconData clear = IconData(0xe168, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">clear</i> &#x2014; material icon named "clear" (sharp).
  static const IconData clear_sharp = IconData(0xe866, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">clear</i> &#x2014; material icon named "clear" (round).
  static const IconData clear_rounded = IconData(0xf645, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">clear</i> &#x2014; material icon named "clear" (outlined).
  static const IconData clear_outlined = IconData(0xef58, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">clear_all</i> &#x2014; material icon named "clear all".
  static const IconData clear_all = IconData(0xe169, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">clear_all</i> &#x2014; material icon named "clear all" (sharp).
  static const IconData clear_all_sharp = IconData(0xe865, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">clear_all</i> &#x2014; material icon named "clear all" (round).
  static const IconData clear_all_rounded = IconData(0xf644, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">clear_all</i> &#x2014; material icon named "clear all" (outlined).
  static const IconData clear_all_outlined = IconData(0xef57, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">close</i> &#x2014; material icon named "close".
  static const IconData close = IconData(0xe16a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">close</i> &#x2014; material icon named "close" (sharp).
  static const IconData close_sharp = IconData(0xe868, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">close</i> &#x2014; material icon named "close" (round).
  static const IconData close_rounded = IconData(0xf647, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">close</i> &#x2014; material icon named "close" (outlined).
  static const IconData close_outlined = IconData(0xef5a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">close_fullscreen</i> &#x2014; material icon named "close fullscreen".
  static const IconData close_fullscreen = IconData(0xe16b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">close_fullscreen</i> &#x2014; material icon named "close fullscreen" (sharp).
  static const IconData close_fullscreen_sharp = IconData(0xe867, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">close_fullscreen</i> &#x2014; material icon named "close fullscreen" (round).
  static const IconData close_fullscreen_rounded = IconData(0xf646, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">close_fullscreen</i> &#x2014; material icon named "close fullscreen" (outlined).
  static const IconData close_fullscreen_outlined = IconData(0xef59, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">closed_caption</i> &#x2014; material icon named "closed caption".
  static const IconData closed_caption = IconData(0xe16c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">closed_caption</i> &#x2014; material icon named "closed caption" (sharp).
  static const IconData closed_caption_sharp = IconData(0xe86b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">closed_caption</i> &#x2014; material icon named "closed caption" (round).
  static const IconData closed_caption_rounded = IconData(0xf64a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">closed_caption</i> &#x2014; material icon named "closed caption" (outlined).
  static const IconData closed_caption_outlined = IconData(0xef5d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">closed_caption_disabled</i> &#x2014; material icon named "closed caption disabled".
  static const IconData closed_caption_disabled = IconData(0xe16d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">closed_caption_disabled</i> &#x2014; material icon named "closed caption disabled" (sharp).
  static const IconData closed_caption_disabled_sharp = IconData(0xe869, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">closed_caption_disabled</i> &#x2014; material icon named "closed caption disabled" (round).
  static const IconData closed_caption_disabled_rounded = IconData(0xf648, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">closed_caption_disabled</i> &#x2014; material icon named "closed caption disabled" (outlined).
  static const IconData closed_caption_disabled_outlined = IconData(0xef5b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">closed_caption_off</i> &#x2014; material icon named "closed caption off".
  static const IconData closed_caption_off = IconData(0xe16e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">closed_caption_off</i> &#x2014; material icon named "closed caption off" (sharp).
  static const IconData closed_caption_off_sharp = IconData(0xe86a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">closed_caption_off</i> &#x2014; material icon named "closed caption off" (round).
  static const IconData closed_caption_off_rounded = IconData(0xf649, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">closed_caption_off</i> &#x2014; material icon named "closed caption off" (outlined).
  static const IconData closed_caption_off_outlined = IconData(0xef5c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cloud</i> &#x2014; material icon named "cloud".
  static const IconData cloud = IconData(0xe16f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cloud</i> &#x2014; material icon named "cloud" (sharp).
  static const IconData cloud_sharp = IconData(0xe871, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cloud</i> &#x2014; material icon named "cloud" (round).
  static const IconData cloud_rounded = IconData(0xf650, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cloud</i> &#x2014; material icon named "cloud" (outlined).
  static const IconData cloud_outlined = IconData(0xef62, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cloud_circle</i> &#x2014; material icon named "cloud circle".
  static const IconData cloud_circle = IconData(0xe170, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cloud_circle</i> &#x2014; material icon named "cloud circle" (sharp).
  static const IconData cloud_circle_sharp = IconData(0xe86c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cloud_circle</i> &#x2014; material icon named "cloud circle" (round).
  static const IconData cloud_circle_rounded = IconData(0xf64b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cloud_circle</i> &#x2014; material icon named "cloud circle" (outlined).
  static const IconData cloud_circle_outlined = IconData(0xef5e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cloud_done</i> &#x2014; material icon named "cloud done".
  static const IconData cloud_done = IconData(0xe171, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cloud_done</i> &#x2014; material icon named "cloud done" (sharp).
  static const IconData cloud_done_sharp = IconData(0xe86d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cloud_done</i> &#x2014; material icon named "cloud done" (round).
  static const IconData cloud_done_rounded = IconData(0xf64c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cloud_done</i> &#x2014; material icon named "cloud done" (outlined).
  static const IconData cloud_done_outlined = IconData(0xef5f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cloud_download</i> &#x2014; material icon named "cloud download".
  static const IconData cloud_download = IconData(0xe172, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cloud_download</i> &#x2014; material icon named "cloud download" (sharp).
  static const IconData cloud_download_sharp = IconData(0xe86e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cloud_download</i> &#x2014; material icon named "cloud download" (round).
  static const IconData cloud_download_rounded = IconData(0xf64d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cloud_download</i> &#x2014; material icon named "cloud download" (outlined).
  static const IconData cloud_download_outlined = IconData(0xef60, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cloud_off</i> &#x2014; material icon named "cloud off".
  static const IconData cloud_off = IconData(0xe173, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cloud_off</i> &#x2014; material icon named "cloud off" (sharp).
  static const IconData cloud_off_sharp = IconData(0xe86f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cloud_off</i> &#x2014; material icon named "cloud off" (round).
  static const IconData cloud_off_rounded = IconData(0xf64e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cloud_off</i> &#x2014; material icon named "cloud off" (outlined).
  static const IconData cloud_off_outlined = IconData(0xef61, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cloud_queue</i> &#x2014; material icon named "cloud queue".
  static const IconData cloud_queue = IconData(0xe174, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cloud_queue</i> &#x2014; material icon named "cloud queue" (sharp).
  static const IconData cloud_queue_sharp = IconData(0xe870, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cloud_queue</i> &#x2014; material icon named "cloud queue" (round).
  static const IconData cloud_queue_rounded = IconData(0xf64f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cloud_queue</i> &#x2014; material icon named "cloud queue" (outlined).
  static const IconData cloud_queue_outlined = IconData(0xef63, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cloud_sync</i> &#x2014; material icon named "cloud sync".
  static const IconData cloud_sync = IconData(0xf04ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cloud_sync</i> &#x2014; material icon named "cloud sync" (sharp).
  static const IconData cloud_sync_sharp = IconData(0xf03db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cloud_sync</i> &#x2014; material icon named "cloud sync" (round).
  static const IconData cloud_sync_rounded = IconData(0xf02e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cloud_sync</i> &#x2014; material icon named "cloud sync" (outlined).
  static const IconData cloud_sync_outlined = IconData(0xf05c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cloud_upload</i> &#x2014; material icon named "cloud upload".
  static const IconData cloud_upload = IconData(0xe175, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cloud_upload</i> &#x2014; material icon named "cloud upload" (sharp).
  static const IconData cloud_upload_sharp = IconData(0xe872, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cloud_upload</i> &#x2014; material icon named "cloud upload" (round).
  static const IconData cloud_upload_rounded = IconData(0xf651, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cloud_upload</i> &#x2014; material icon named "cloud upload" (outlined).
  static const IconData cloud_upload_outlined = IconData(0xef64, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cloudy_snowing</i> &#x2014; material icon named "cloudy snowing".
  static const IconData cloudy_snowing = IconData(0xf04cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">co2</i> &#x2014; material icon named "co2".
  static const IconData co2 = IconData(0xf04d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">co2</i> &#x2014; material icon named "co2" (sharp).
  static const IconData co2_sharp = IconData(0xf03dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">co2</i> &#x2014; material icon named "co2" (round).
  static const IconData co2_rounded = IconData(0xf02e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">co2</i> &#x2014; material icon named "co2" (outlined).
  static const IconData co2_outlined = IconData(0xf05ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">co_present</i> &#x2014; material icon named "co present".
  static const IconData co_present = IconData(0xf04d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">co_present</i> &#x2014; material icon named "co present" (sharp).
  static const IconData co_present_sharp = IconData(0xf03dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">co_present</i> &#x2014; material icon named "co present" (round).
  static const IconData co_present_rounded = IconData(0xf02ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">co_present</i> &#x2014; material icon named "co present" (outlined).
  static const IconData co_present_outlined = IconData(0xf05cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">code</i> &#x2014; material icon named "code".
  static const IconData code = IconData(0xe176, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">code</i> &#x2014; material icon named "code" (sharp).
  static const IconData code_sharp = IconData(0xe874, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">code</i> &#x2014; material icon named "code" (round).
  static const IconData code_rounded = IconData(0xf653, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">code</i> &#x2014; material icon named "code" (outlined).
  static const IconData code_outlined = IconData(0xef66, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">code_off</i> &#x2014; material icon named "code off".
  static const IconData code_off = IconData(0xe177, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">code_off</i> &#x2014; material icon named "code off" (sharp).
  static const IconData code_off_sharp = IconData(0xe873, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">code_off</i> &#x2014; material icon named "code off" (round).
  static const IconData code_off_rounded = IconData(0xf652, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">code_off</i> &#x2014; material icon named "code off" (outlined).
  static const IconData code_off_outlined = IconData(0xef65, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">coffee</i> &#x2014; material icon named "coffee".
  static const IconData coffee = IconData(0xe178, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">coffee</i> &#x2014; material icon named "coffee" (sharp).
  static const IconData coffee_sharp = IconData(0xe876, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">coffee</i> &#x2014; material icon named "coffee" (round).
  static const IconData coffee_rounded = IconData(0xf655, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">coffee</i> &#x2014; material icon named "coffee" (outlined).
  static const IconData coffee_outlined = IconData(0xef68, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">coffee_maker</i> &#x2014; material icon named "coffee maker".
  static const IconData coffee_maker = IconData(0xe179, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">coffee_maker</i> &#x2014; material icon named "coffee maker" (sharp).
  static const IconData coffee_maker_sharp = IconData(0xe875, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">coffee_maker</i> &#x2014; material icon named "coffee maker" (round).
  static const IconData coffee_maker_rounded = IconData(0xf654, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">coffee_maker</i> &#x2014; material icon named "coffee maker" (outlined).
  static const IconData coffee_maker_outlined = IconData(0xef67, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">collections</i> &#x2014; material icon named "collections".
  static const IconData collections = IconData(0xe17a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">collections</i> &#x2014; material icon named "collections" (sharp).
  static const IconData collections_sharp = IconData(0xe878, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">collections</i> &#x2014; material icon named "collections" (round).
  static const IconData collections_rounded = IconData(0xf657, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">collections</i> &#x2014; material icon named "collections" (outlined).
  static const IconData collections_outlined = IconData(0xef6a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">collections_bookmark</i> &#x2014; material icon named "collections bookmark".
  static const IconData collections_bookmark = IconData(0xe17b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">collections_bookmark</i> &#x2014; material icon named "collections bookmark" (sharp).
  static const IconData collections_bookmark_sharp = IconData(0xe877, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">collections_bookmark</i> &#x2014; material icon named "collections bookmark" (round).
  static const IconData collections_bookmark_rounded = IconData(0xf656, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">collections_bookmark</i> &#x2014; material icon named "collections bookmark" (outlined).
  static const IconData collections_bookmark_outlined = IconData(0xef69, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">color_lens</i> &#x2014; material icon named "color lens".
  static const IconData color_lens = IconData(0xe17c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">color_lens</i> &#x2014; material icon named "color lens" (sharp).
  static const IconData color_lens_sharp = IconData(0xe879, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">color_lens</i> &#x2014; material icon named "color lens" (round).
  static const IconData color_lens_rounded = IconData(0xf658, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">color_lens</i> &#x2014; material icon named "color lens" (outlined).
  static const IconData color_lens_outlined = IconData(0xef6b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">colorize</i> &#x2014; material icon named "colorize".
  static const IconData colorize = IconData(0xe17d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">colorize</i> &#x2014; material icon named "colorize" (sharp).
  static const IconData colorize_sharp = IconData(0xe87a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">colorize</i> &#x2014; material icon named "colorize" (round).
  static const IconData colorize_rounded = IconData(0xf659, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">colorize</i> &#x2014; material icon named "colorize" (outlined).
  static const IconData colorize_outlined = IconData(0xef6c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">comment</i> &#x2014; material icon named "comment".
  static const IconData comment = IconData(0xe17e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">comment</i> &#x2014; material icon named "comment" (sharp).
  static const IconData comment_sharp = IconData(0xe87c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">comment</i> &#x2014; material icon named "comment" (round).
  static const IconData comment_rounded = IconData(0xf65b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">comment</i> &#x2014; material icon named "comment" (outlined).
  static const IconData comment_outlined = IconData(0xef6e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">comment_bank</i> &#x2014; material icon named "comment bank".
  static const IconData comment_bank = IconData(0xe17f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">comment_bank</i> &#x2014; material icon named "comment bank" (sharp).
  static const IconData comment_bank_sharp = IconData(0xe87b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">comment_bank</i> &#x2014; material icon named "comment bank" (round).
  static const IconData comment_bank_rounded = IconData(0xf65a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">comment_bank</i> &#x2014; material icon named "comment bank" (outlined).
  static const IconData comment_bank_outlined = IconData(0xef6d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">comments_disabled</i> &#x2014; material icon named "comments disabled".
  static const IconData comments_disabled = IconData(0xf04d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">comments_disabled</i> &#x2014; material icon named "comments disabled" (sharp).
  static const IconData comments_disabled_sharp = IconData(0xf03de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">comments_disabled</i> &#x2014; material icon named "comments disabled" (round).
  static const IconData comments_disabled_rounded = IconData(0xf02eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">comments_disabled</i> &#x2014; material icon named "comments disabled" (outlined).
  static const IconData comments_disabled_outlined = IconData(0xf05cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">commit</i> &#x2014; material icon named "commit".
  static const IconData commit = IconData(0xf04d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">commit</i> &#x2014; material icon named "commit" (sharp).
  static const IconData commit_sharp = IconData(0xf03df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">commit</i> &#x2014; material icon named "commit" (round).
  static const IconData commit_rounded = IconData(0xf02ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">commit</i> &#x2014; material icon named "commit" (outlined).
  static const IconData commit_outlined = IconData(0xf05cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">commute</i> &#x2014; material icon named "commute".
  static const IconData commute = IconData(0xe180, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">commute</i> &#x2014; material icon named "commute" (sharp).
  static const IconData commute_sharp = IconData(0xe87d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">commute</i> &#x2014; material icon named "commute" (round).
  static const IconData commute_rounded = IconData(0xf65c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">commute</i> &#x2014; material icon named "commute" (outlined).
  static const IconData commute_outlined = IconData(0xef6f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">compare</i> &#x2014; material icon named "compare".
  static const IconData compare = IconData(0xe181, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">compare</i> &#x2014; material icon named "compare" (sharp).
  static const IconData compare_sharp = IconData(0xe87f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">compare</i> &#x2014; material icon named "compare" (round).
  static const IconData compare_rounded = IconData(0xf65e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">compare</i> &#x2014; material icon named "compare" (outlined).
  static const IconData compare_outlined = IconData(0xef71, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">compare_arrows</i> &#x2014; material icon named "compare arrows".
  static const IconData compare_arrows = IconData(0xe182, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">compare_arrows</i> &#x2014; material icon named "compare arrows" (sharp).
  static const IconData compare_arrows_sharp = IconData(0xe87e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">compare_arrows</i> &#x2014; material icon named "compare arrows" (round).
  static const IconData compare_arrows_rounded = IconData(0xf65d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">compare_arrows</i> &#x2014; material icon named "compare arrows" (outlined).
  static const IconData compare_arrows_outlined = IconData(0xef70, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">compass_calibration</i> &#x2014; material icon named "compass calibration".
  static const IconData compass_calibration = IconData(0xe183, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">compass_calibration</i> &#x2014; material icon named "compass calibration" (sharp).
  static const IconData compass_calibration_sharp = IconData(0xe880, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">compass_calibration</i> &#x2014; material icon named "compass calibration" (round).
  static const IconData compass_calibration_rounded = IconData(0xf65f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">compass_calibration</i> &#x2014; material icon named "compass calibration" (outlined).
  static const IconData compass_calibration_outlined = IconData(0xef72, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">compost</i> &#x2014; material icon named "compost".
  static const IconData compost = IconData(0xf04d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">compost</i> &#x2014; material icon named "compost" (sharp).
  static const IconData compost_sharp = IconData(0xf03e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">compost</i> &#x2014; material icon named "compost" (round).
  static const IconData compost_rounded = IconData(0xf02ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">compost</i> &#x2014; material icon named "compost" (outlined).
  static const IconData compost_outlined = IconData(0xf05ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">compress</i> &#x2014; material icon named "compress".
  static const IconData compress = IconData(0xe184, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">compress</i> &#x2014; material icon named "compress" (sharp).
  static const IconData compress_sharp = IconData(0xe881, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">compress</i> &#x2014; material icon named "compress" (round).
  static const IconData compress_rounded = IconData(0xf660, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">compress</i> &#x2014; material icon named "compress" (outlined).
  static const IconData compress_outlined = IconData(0xef73, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">computer</i> &#x2014; material icon named "computer".
  static const IconData computer = IconData(0xe185, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">computer</i> &#x2014; material icon named "computer" (sharp).
  static const IconData computer_sharp = IconData(0xe882, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">computer</i> &#x2014; material icon named "computer" (round).
  static const IconData computer_rounded = IconData(0xf661, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">computer</i> &#x2014; material icon named "computer" (outlined).
  static const IconData computer_outlined = IconData(0xef74, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">confirmation_num</i> &#x2014; material icon named "confirmation num".
  static const IconData confirmation_num = IconData(0xe186, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">confirmation_num</i> &#x2014; material icon named "confirmation num" (sharp).
  static const IconData confirmation_num_sharp = IconData(0xe883, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">confirmation_num</i> &#x2014; material icon named "confirmation num" (round).
  static const IconData confirmation_num_rounded = IconData(0xf662, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">confirmation_num</i> &#x2014; material icon named "confirmation num" (outlined).
  static const IconData confirmation_num_outlined = IconData(0xef75, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">confirmation_number</i> &#x2014; material icon named "confirmation number".
  static const IconData confirmation_number = IconData(0xe186, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">confirmation_number</i> &#x2014; material icon named "confirmation number" (sharp).
  static const IconData confirmation_number_sharp = IconData(0xe883, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">confirmation_number</i> &#x2014; material icon named "confirmation number" (round).
  static const IconData confirmation_number_rounded = IconData(0xf662, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">confirmation_number</i> &#x2014; material icon named "confirmation number" (outlined).
  static const IconData confirmation_number_outlined = IconData(0xef75, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">connect_without_contact</i> &#x2014; material icon named "connect without contact".
  static const IconData connect_without_contact = IconData(0xe187, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">connect_without_contact</i> &#x2014; material icon named "connect without contact" (sharp).
  static const IconData connect_without_contact_sharp = IconData(0xe884, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">connect_without_contact</i> &#x2014; material icon named "connect without contact" (round).
  static const IconData connect_without_contact_rounded = IconData(0xf663, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">connect_without_contact</i> &#x2014; material icon named "connect without contact" (outlined).
  static const IconData connect_without_contact_outlined = IconData(0xef76, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">connected_tv</i> &#x2014; material icon named "connected tv".
  static const IconData connected_tv = IconData(0xe188, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">connected_tv</i> &#x2014; material icon named "connected tv" (sharp).
  static const IconData connected_tv_sharp = IconData(0xe885, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">connected_tv</i> &#x2014; material icon named "connected tv" (round).
  static const IconData connected_tv_rounded = IconData(0xf664, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">connected_tv</i> &#x2014; material icon named "connected tv" (outlined).
  static const IconData connected_tv_outlined = IconData(0xef77, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">connecting_airports</i> &#x2014; material icon named "connecting airports".
  static const IconData connecting_airports = IconData(0xf04d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">connecting_airports</i> &#x2014; material icon named "connecting airports" (sharp).
  static const IconData connecting_airports_sharp = IconData(0xf03e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">connecting_airports</i> &#x2014; material icon named "connecting airports" (round).
  static const IconData connecting_airports_rounded = IconData(0xf02ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">connecting_airports</i> &#x2014; material icon named "connecting airports" (outlined).
  static const IconData connecting_airports_outlined = IconData(0xf05cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">construction</i> &#x2014; material icon named "construction".
  static const IconData construction = IconData(0xe189, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">construction</i> &#x2014; material icon named "construction" (sharp).
  static const IconData construction_sharp = IconData(0xe886, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">construction</i> &#x2014; material icon named "construction" (round).
  static const IconData construction_rounded = IconData(0xf665, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">construction</i> &#x2014; material icon named "construction" (outlined).
  static const IconData construction_outlined = IconData(0xef78, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">contact_emergency</i> &#x2014; material icon named "contact emergency".
  static const IconData contact_emergency = IconData(0xf0857, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">contact_emergency</i> &#x2014; material icon named "contact emergency" (sharp).
  static const IconData contact_emergency_sharp = IconData(0xf0837, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">contact_emergency</i> &#x2014; material icon named "contact emergency" (round).
  static const IconData contact_emergency_rounded = IconData(0xf0880, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">contact_emergency</i> &#x2014; material icon named "contact emergency" (outlined).
  static const IconData contact_emergency_outlined = IconData(0xf089e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">contact_mail</i> &#x2014; material icon named "contact mail".
  static const IconData contact_mail = IconData(0xe18a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">contact_mail</i> &#x2014; material icon named "contact mail" (sharp).
  static const IconData contact_mail_sharp = IconData(0xe887, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">contact_mail</i> &#x2014; material icon named "contact mail" (round).
  static const IconData contact_mail_rounded = IconData(0xf666, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">contact_mail</i> &#x2014; material icon named "contact mail" (outlined).
  static const IconData contact_mail_outlined = IconData(0xef79, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">contact_page</i> &#x2014; material icon named "contact page".
  static const IconData contact_page = IconData(0xe18b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">contact_page</i> &#x2014; material icon named "contact page" (sharp).
  static const IconData contact_page_sharp = IconData(0xe888, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">contact_page</i> &#x2014; material icon named "contact page" (round).
  static const IconData contact_page_rounded = IconData(0xf667, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">contact_page</i> &#x2014; material icon named "contact page" (outlined).
  static const IconData contact_page_outlined = IconData(0xef7a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">contact_phone</i> &#x2014; material icon named "contact phone".
  static const IconData contact_phone = IconData(0xe18c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">contact_phone</i> &#x2014; material icon named "contact phone" (sharp).
  static const IconData contact_phone_sharp = IconData(0xe889, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">contact_phone</i> &#x2014; material icon named "contact phone" (round).
  static const IconData contact_phone_rounded = IconData(0xf668, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">contact_phone</i> &#x2014; material icon named "contact phone" (outlined).
  static const IconData contact_phone_outlined = IconData(0xef7b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">contact_support</i> &#x2014; material icon named "contact support".
  static const IconData contact_support = IconData(0xe18d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">contact_support</i> &#x2014; material icon named "contact support" (sharp).
  static const IconData contact_support_sharp = IconData(0xe88a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">contact_support</i> &#x2014; material icon named "contact support" (round).
  static const IconData contact_support_rounded = IconData(0xf669, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">contact_support</i> &#x2014; material icon named "contact support" (outlined).
  static const IconData contact_support_outlined = IconData(0xef7c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">contactless</i> &#x2014; material icon named "contactless".
  static const IconData contactless = IconData(0xe18e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">contactless</i> &#x2014; material icon named "contactless" (sharp).
  static const IconData contactless_sharp = IconData(0xe88b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">contactless</i> &#x2014; material icon named "contactless" (round).
  static const IconData contactless_rounded = IconData(0xf66a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">contactless</i> &#x2014; material icon named "contactless" (outlined).
  static const IconData contactless_outlined = IconData(0xef7d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">contacts</i> &#x2014; material icon named "contacts".
  static const IconData contacts = IconData(0xe18f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">contacts</i> &#x2014; material icon named "contacts" (sharp).
  static const IconData contacts_sharp = IconData(0xe88c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">contacts</i> &#x2014; material icon named "contacts" (round).
  static const IconData contacts_rounded = IconData(0xf66b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">contacts</i> &#x2014; material icon named "contacts" (outlined).
  static const IconData contacts_outlined = IconData(0xef7e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">content_copy</i> &#x2014; material icon named "content copy".
  static const IconData content_copy = IconData(0xe190, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">content_copy</i> &#x2014; material icon named "content copy" (sharp).
  static const IconData content_copy_sharp = IconData(0xe88d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">content_copy</i> &#x2014; material icon named "content copy" (round).
  static const IconData content_copy_rounded = IconData(0xf66c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">content_copy</i> &#x2014; material icon named "content copy" (outlined).
  static const IconData content_copy_outlined = IconData(0xef7f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">content_cut</i> &#x2014; material icon named "content cut".
  static const IconData content_cut = IconData(0xe191, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">content_cut</i> &#x2014; material icon named "content cut" (sharp).
  static const IconData content_cut_sharp = IconData(0xe88e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">content_cut</i> &#x2014; material icon named "content cut" (round).
  static const IconData content_cut_rounded = IconData(0xf66d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">content_cut</i> &#x2014; material icon named "content cut" (outlined).
  static const IconData content_cut_outlined = IconData(0xef80, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">content_paste</i> &#x2014; material icon named "content paste".
  static const IconData content_paste = IconData(0xe192, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">content_paste</i> &#x2014; material icon named "content paste" (sharp).
  static const IconData content_paste_sharp = IconData(0xe890, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">content_paste</i> &#x2014; material icon named "content paste" (round).
  static const IconData content_paste_rounded = IconData(0xf66f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">content_paste</i> &#x2014; material icon named "content paste" (outlined).
  static const IconData content_paste_outlined = IconData(0xef82, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">content_paste_go</i> &#x2014; material icon named "content paste go".
  static const IconData content_paste_go = IconData(0xf04d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">content_paste_go</i> &#x2014; material icon named "content paste go" (sharp).
  static const IconData content_paste_go_sharp = IconData(0xf03e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">content_paste_go</i> &#x2014; material icon named "content paste go" (round).
  static const IconData content_paste_go_rounded = IconData(0xf02ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">content_paste_go</i> &#x2014; material icon named "content paste go" (outlined).
  static const IconData content_paste_go_outlined = IconData(0xf05d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">content_paste_off</i> &#x2014; material icon named "content paste off".
  static const IconData content_paste_off = IconData(0xe193, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">content_paste_off</i> &#x2014; material icon named "content paste off" (sharp).
  static const IconData content_paste_off_sharp = IconData(0xe88f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">content_paste_off</i> &#x2014; material icon named "content paste off" (round).
  static const IconData content_paste_off_rounded = IconData(0xf66e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">content_paste_off</i> &#x2014; material icon named "content paste off" (outlined).
  static const IconData content_paste_off_outlined = IconData(0xef81, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">content_paste_search</i> &#x2014; material icon named "content paste search".
  static const IconData content_paste_search = IconData(0xf04d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">content_paste_search</i> &#x2014; material icon named "content paste search" (sharp).
  static const IconData content_paste_search_sharp = IconData(0xf03e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">content_paste_search</i> &#x2014; material icon named "content paste search" (round).
  static const IconData content_paste_search_rounded = IconData(0xf02f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">content_paste_search</i> &#x2014; material icon named "content paste search" (outlined).
  static const IconData content_paste_search_outlined = IconData(0xf05d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">contrast</i> &#x2014; material icon named "contrast".
  static const IconData contrast = IconData(0xf04d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">contrast</i> &#x2014; material icon named "contrast" (sharp).
  static const IconData contrast_sharp = IconData(0xf03e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">contrast</i> &#x2014; material icon named "contrast" (round).
  static const IconData contrast_rounded = IconData(0xf02f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">contrast</i> &#x2014; material icon named "contrast" (outlined).
  static const IconData contrast_outlined = IconData(0xf05d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">control_camera</i> &#x2014; material icon named "control camera".
  static const IconData control_camera = IconData(0xe194, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">control_camera</i> &#x2014; material icon named "control camera" (sharp).
  static const IconData control_camera_sharp = IconData(0xe891, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">control_camera</i> &#x2014; material icon named "control camera" (round).
  static const IconData control_camera_rounded = IconData(0xf670, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">control_camera</i> &#x2014; material icon named "control camera" (outlined).
  static const IconData control_camera_outlined = IconData(0xef83, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">control_point</i> &#x2014; material icon named "control point".
  static const IconData control_point = IconData(0xe195, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">control_point</i> &#x2014; material icon named "control point" (sharp).
  static const IconData control_point_sharp = IconData(0xe893, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">control_point</i> &#x2014; material icon named "control point" (round).
  static const IconData control_point_rounded = IconData(0xf672, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">control_point</i> &#x2014; material icon named "control point" (outlined).
  static const IconData control_point_outlined = IconData(0xef85, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">control_point_duplicate</i> &#x2014; material icon named "control point duplicate".
  static const IconData control_point_duplicate = IconData(0xe196, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">control_point_duplicate</i> &#x2014; material icon named "control point duplicate" (sharp).
  static const IconData control_point_duplicate_sharp = IconData(0xe892, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">control_point_duplicate</i> &#x2014; material icon named "control point duplicate" (round).
  static const IconData control_point_duplicate_rounded = IconData(0xf671, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">control_point_duplicate</i> &#x2014; material icon named "control point duplicate" (outlined).
  static const IconData control_point_duplicate_outlined = IconData(0xef84, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">conveyor_belt</i> &#x2014; material icon named "conveyor belt".
  static const IconData conveyor_belt = IconData(0xf0858, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cookie</i> &#x2014; material icon named "cookie".
  static const IconData cookie = IconData(0xf04d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cookie</i> &#x2014; material icon named "cookie" (sharp).
  static const IconData cookie_sharp = IconData(0xf03e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cookie</i> &#x2014; material icon named "cookie" (round).
  static const IconData cookie_rounded = IconData(0xf02f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cookie</i> &#x2014; material icon named "cookie" (outlined).
  static const IconData cookie_outlined = IconData(0xf05d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">copy</i> &#x2014; material icon named "copy".
  static const IconData copy = IconData(0xe190, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">copy</i> &#x2014; material icon named "copy" (sharp).
  static const IconData copy_sharp = IconData(0xe88d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">copy</i> &#x2014; material icon named "copy" (round).
  static const IconData copy_rounded = IconData(0xf66c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">copy</i> &#x2014; material icon named "copy" (outlined).
  static const IconData copy_outlined = IconData(0xef7f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">copy_all</i> &#x2014; material icon named "copy all".
  static const IconData copy_all = IconData(0xe197, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">copy_all</i> &#x2014; material icon named "copy all" (sharp).
  static const IconData copy_all_sharp = IconData(0xe894, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">copy_all</i> &#x2014; material icon named "copy all" (round).
  static const IconData copy_all_rounded = IconData(0xf673, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">copy_all</i> &#x2014; material icon named "copy all" (outlined).
  static const IconData copy_all_outlined = IconData(0xef86, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">copyright</i> &#x2014; material icon named "copyright".
  static const IconData copyright = IconData(0xe198, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">copyright</i> &#x2014; material icon named "copyright" (sharp).
  static const IconData copyright_sharp = IconData(0xe895, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">copyright</i> &#x2014; material icon named "copyright" (round).
  static const IconData copyright_rounded = IconData(0xf674, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">copyright</i> &#x2014; material icon named "copyright" (outlined).
  static const IconData copyright_outlined = IconData(0xef87, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">coronavirus</i> &#x2014; material icon named "coronavirus".
  static const IconData coronavirus = IconData(0xe199, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">coronavirus</i> &#x2014; material icon named "coronavirus" (sharp).
  static const IconData coronavirus_sharp = IconData(0xe896, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">coronavirus</i> &#x2014; material icon named "coronavirus" (round).
  static const IconData coronavirus_rounded = IconData(0xf675, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">coronavirus</i> &#x2014; material icon named "coronavirus" (outlined).
  static const IconData coronavirus_outlined = IconData(0xef88, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">corporate_fare</i> &#x2014; material icon named "corporate fare".
  static const IconData corporate_fare = IconData(0xe19a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">corporate_fare</i> &#x2014; material icon named "corporate fare" (sharp).
  static const IconData corporate_fare_sharp = IconData(0xe897, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">corporate_fare</i> &#x2014; material icon named "corporate fare" (round).
  static const IconData corporate_fare_rounded = IconData(0xf676, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">corporate_fare</i> &#x2014; material icon named "corporate fare" (outlined).
  static const IconData corporate_fare_outlined = IconData(0xef89, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cottage</i> &#x2014; material icon named "cottage".
  static const IconData cottage = IconData(0xe19b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cottage</i> &#x2014; material icon named "cottage" (sharp).
  static const IconData cottage_sharp = IconData(0xe898, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cottage</i> &#x2014; material icon named "cottage" (round).
  static const IconData cottage_rounded = IconData(0xf677, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cottage</i> &#x2014; material icon named "cottage" (outlined).
  static const IconData cottage_outlined = IconData(0xef8a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">countertops</i> &#x2014; material icon named "countertops".
  static const IconData countertops = IconData(0xe19c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">countertops</i> &#x2014; material icon named "countertops" (sharp).
  static const IconData countertops_sharp = IconData(0xe899, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">countertops</i> &#x2014; material icon named "countertops" (round).
  static const IconData countertops_rounded = IconData(0xf678, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">countertops</i> &#x2014; material icon named "countertops" (outlined).
  static const IconData countertops_outlined = IconData(0xef8b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">create</i> &#x2014; material icon named "create".
  static const IconData create = IconData(0xe19d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">create</i> &#x2014; material icon named "create" (sharp).
  static const IconData create_sharp = IconData(0xe89b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">create</i> &#x2014; material icon named "create" (round).
  static const IconData create_rounded = IconData(0xf67a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">create</i> &#x2014; material icon named "create" (outlined).
  static const IconData create_outlined = IconData(0xef8d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">create_new_folder</i> &#x2014; material icon named "create new folder".
  static const IconData create_new_folder = IconData(0xe19e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">create_new_folder</i> &#x2014; material icon named "create new folder" (sharp).
  static const IconData create_new_folder_sharp = IconData(0xe89a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">create_new_folder</i> &#x2014; material icon named "create new folder" (round).
  static const IconData create_new_folder_rounded = IconData(0xf679, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">create_new_folder</i> &#x2014; material icon named "create new folder" (outlined).
  static const IconData create_new_folder_outlined = IconData(0xef8c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">credit_card</i> &#x2014; material icon named "credit card".
  static const IconData credit_card = IconData(0xe19f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">credit_card</i> &#x2014; material icon named "credit card" (sharp).
  static const IconData credit_card_sharp = IconData(0xe89d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">credit_card</i> &#x2014; material icon named "credit card" (round).
  static const IconData credit_card_rounded = IconData(0xf67c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">credit_card</i> &#x2014; material icon named "credit card" (outlined).
  static const IconData credit_card_outlined = IconData(0xef8f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">credit_card_off</i> &#x2014; material icon named "credit card off".
  static const IconData credit_card_off = IconData(0xe1a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">credit_card_off</i> &#x2014; material icon named "credit card off" (sharp).
  static const IconData credit_card_off_sharp = IconData(0xe89c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">credit_card_off</i> &#x2014; material icon named "credit card off" (round).
  static const IconData credit_card_off_rounded = IconData(0xf67b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">credit_card_off</i> &#x2014; material icon named "credit card off" (outlined).
  static const IconData credit_card_off_outlined = IconData(0xef8e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">credit_score</i> &#x2014; material icon named "credit score".
  static const IconData credit_score = IconData(0xe1a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">credit_score</i> &#x2014; material icon named "credit score" (sharp).
  static const IconData credit_score_sharp = IconData(0xe89e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">credit_score</i> &#x2014; material icon named "credit score" (round).
  static const IconData credit_score_rounded = IconData(0xf67d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">credit_score</i> &#x2014; material icon named "credit score" (outlined).
  static const IconData credit_score_outlined = IconData(0xef90, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crib</i> &#x2014; material icon named "crib".
  static const IconData crib = IconData(0xe1a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crib</i> &#x2014; material icon named "crib" (sharp).
  static const IconData crib_sharp = IconData(0xe89f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crib</i> &#x2014; material icon named "crib" (round).
  static const IconData crib_rounded = IconData(0xf67e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crib</i> &#x2014; material icon named "crib" (outlined).
  static const IconData crib_outlined = IconData(0xef91, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crisis_alert</i> &#x2014; material icon named "crisis alert".
  static const IconData crisis_alert = IconData(0xf0794, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crisis_alert</i> &#x2014; material icon named "crisis alert" (sharp).
  static const IconData crisis_alert_sharp = IconData(0xf073c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crisis_alert</i> &#x2014; material icon named "crisis alert" (round).
  static const IconData crisis_alert_rounded = IconData(0xf07ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crisis_alert</i> &#x2014; material icon named "crisis alert" (outlined).
  static const IconData crisis_alert_outlined = IconData(0xf06e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop</i> &#x2014; material icon named "crop".
  static const IconData crop = IconData(0xe1a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop</i> &#x2014; material icon named "crop" (sharp).
  static const IconData crop_sharp = IconData(0xe8aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop</i> &#x2014; material icon named "crop" (round).
  static const IconData crop_rounded = IconData(0xf689, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop</i> &#x2014; material icon named "crop" (outlined).
  static const IconData crop_outlined = IconData(0xef9a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_16_9</i> &#x2014; material icon named "crop 16 9".
  static const IconData crop_16_9 = IconData(0xe1a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_16_9</i> &#x2014; material icon named "crop 16 9" (sharp).
  static const IconData crop_16_9_sharp = IconData(0xe8a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_16_9</i> &#x2014; material icon named "crop 16 9" (round).
  static const IconData crop_16_9_rounded = IconData(0xf67f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_16_9</i> &#x2014; material icon named "crop 16 9" (outlined).
  static const IconData crop_16_9_outlined = IconData(0xef92, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_3_2</i> &#x2014; material icon named "crop 3 2".
  static const IconData crop_3_2 = IconData(0xe1a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_3_2</i> &#x2014; material icon named "crop 3 2" (sharp).
  static const IconData crop_3_2_sharp = IconData(0xe8a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_3_2</i> &#x2014; material icon named "crop 3 2" (round).
  static const IconData crop_3_2_rounded = IconData(0xf680, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_3_2</i> &#x2014; material icon named "crop 3 2" (outlined).
  static const IconData crop_3_2_outlined = IconData(0xef93, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_5_4</i> &#x2014; material icon named "crop 5 4".
  static const IconData crop_5_4 = IconData(0xe1a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_5_4</i> &#x2014; material icon named "crop 5 4" (sharp).
  static const IconData crop_5_4_sharp = IconData(0xe8a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_5_4</i> &#x2014; material icon named "crop 5 4" (round).
  static const IconData crop_5_4_rounded = IconData(0xf681, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_5_4</i> &#x2014; material icon named "crop 5 4" (outlined).
  static const IconData crop_5_4_outlined = IconData(0xef94, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_7_5</i> &#x2014; material icon named "crop 7 5".
  static const IconData crop_7_5 = IconData(0xe1a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_7_5</i> &#x2014; material icon named "crop 7 5" (sharp).
  static const IconData crop_7_5_sharp = IconData(0xe8a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_7_5</i> &#x2014; material icon named "crop 7 5" (round).
  static const IconData crop_7_5_rounded = IconData(0xf682, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_7_5</i> &#x2014; material icon named "crop 7 5" (outlined).
  static const IconData crop_7_5_outlined = IconData(0xef95, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_din</i> &#x2014; material icon named "crop din".
  static const IconData crop_din = IconData(0xe1a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_din</i> &#x2014; material icon named "crop din" (sharp).
  static const IconData crop_din_sharp = IconData(0xe8a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_din</i> &#x2014; material icon named "crop din" (round).
  static const IconData crop_din_rounded = IconData(0xf683, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_din</i> &#x2014; material icon named "crop din" (outlined).
  static const IconData crop_din_outlined = IconData(0xef96, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_free</i> &#x2014; material icon named "crop free".
  static const IconData crop_free = IconData(0xe1a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_free</i> &#x2014; material icon named "crop free" (sharp).
  static const IconData crop_free_sharp = IconData(0xe8a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_free</i> &#x2014; material icon named "crop free" (round).
  static const IconData crop_free_rounded = IconData(0xf684, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_free</i> &#x2014; material icon named "crop free" (outlined).
  static const IconData crop_free_outlined = IconData(0xef97, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_landscape</i> &#x2014; material icon named "crop landscape".
  static const IconData crop_landscape = IconData(0xe1aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_landscape</i> &#x2014; material icon named "crop landscape" (sharp).
  static const IconData crop_landscape_sharp = IconData(0xe8a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_landscape</i> &#x2014; material icon named "crop landscape" (round).
  static const IconData crop_landscape_rounded = IconData(0xf685, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_landscape</i> &#x2014; material icon named "crop landscape" (outlined).
  static const IconData crop_landscape_outlined = IconData(0xef98, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_original</i> &#x2014; material icon named "crop original".
  static const IconData crop_original = IconData(0xe1ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_original</i> &#x2014; material icon named "crop original" (sharp).
  static const IconData crop_original_sharp = IconData(0xe8a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_original</i> &#x2014; material icon named "crop original" (round).
  static const IconData crop_original_rounded = IconData(0xf686, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_original</i> &#x2014; material icon named "crop original" (outlined).
  static const IconData crop_original_outlined = IconData(0xef99, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_portrait</i> &#x2014; material icon named "crop portrait".
  static const IconData crop_portrait = IconData(0xe1ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_portrait</i> &#x2014; material icon named "crop portrait" (sharp).
  static const IconData crop_portrait_sharp = IconData(0xe8a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_portrait</i> &#x2014; material icon named "crop portrait" (round).
  static const IconData crop_portrait_rounded = IconData(0xf687, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_portrait</i> &#x2014; material icon named "crop portrait" (outlined).
  static const IconData crop_portrait_outlined = IconData(0xef9b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_rotate</i> &#x2014; material icon named "crop rotate".
  static const IconData crop_rotate = IconData(0xe1ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_rotate</i> &#x2014; material icon named "crop rotate" (sharp).
  static const IconData crop_rotate_sharp = IconData(0xe8a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_rotate</i> &#x2014; material icon named "crop rotate" (round).
  static const IconData crop_rotate_rounded = IconData(0xf688, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_rotate</i> &#x2014; material icon named "crop rotate" (outlined).
  static const IconData crop_rotate_outlined = IconData(0xef9c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_square</i> &#x2014; material icon named "crop square".
  static const IconData crop_square = IconData(0xe1ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_square</i> &#x2014; material icon named "crop square" (sharp).
  static const IconData crop_square_sharp = IconData(0xe8ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_square</i> &#x2014; material icon named "crop square" (round).
  static const IconData crop_square_rounded = IconData(0xf68a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_square</i> &#x2014; material icon named "crop square" (outlined).
  static const IconData crop_square_outlined = IconData(0xef9d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cruelty_free</i> &#x2014; material icon named "cruelty free".
  static const IconData cruelty_free = IconData(0xf04da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cruelty_free</i> &#x2014; material icon named "cruelty free" (sharp).
  static const IconData cruelty_free_sharp = IconData(0xf03e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cruelty_free</i> &#x2014; material icon named "cruelty free" (round).
  static const IconData cruelty_free_rounded = IconData(0xf02f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cruelty_free</i> &#x2014; material icon named "cruelty free" (outlined).
  static const IconData cruelty_free_outlined = IconData(0xf05d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">css</i> &#x2014; material icon named "css".
  static const IconData css = IconData(0xf04db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">css</i> &#x2014; material icon named "css" (sharp).
  static const IconData css_sharp = IconData(0xf03e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">css</i> &#x2014; material icon named "css" (round).
  static const IconData css_rounded = IconData(0xf02f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">css</i> &#x2014; material icon named "css" (outlined).
  static const IconData css_outlined = IconData(0xf05d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">currency_bitcoin</i> &#x2014; material icon named "currency bitcoin".
  static const IconData currency_bitcoin = IconData(0xf06bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">currency_bitcoin</i> &#x2014; material icon named "currency bitcoin" (sharp).
  static const IconData currency_bitcoin_sharp = IconData(0xf06af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">currency_bitcoin</i> &#x2014; material icon named "currency bitcoin" (round).
  static const IconData currency_bitcoin_rounded = IconData(0xf06c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">currency_bitcoin</i> &#x2014; material icon named "currency bitcoin" (outlined).
  static const IconData currency_bitcoin_outlined = IconData(0xf054a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">currency_exchange</i> &#x2014; material icon named "currency exchange".
  static const IconData currency_exchange = IconData(0xf04dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">currency_exchange</i> &#x2014; material icon named "currency exchange" (sharp).
  static const IconData currency_exchange_sharp = IconData(0xf03e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">currency_exchange</i> &#x2014; material icon named "currency exchange" (round).
  static const IconData currency_exchange_rounded = IconData(0xf02f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">currency_exchange</i> &#x2014; material icon named "currency exchange" (outlined).
  static const IconData currency_exchange_outlined = IconData(0xf05d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">currency_franc</i> &#x2014; material icon named "currency franc".
  static const IconData currency_franc = IconData(0xf04dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">currency_franc</i> &#x2014; material icon named "currency franc" (sharp).
  static const IconData currency_franc_sharp = IconData(0xf03e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">currency_franc</i> &#x2014; material icon named "currency franc" (round).
  static const IconData currency_franc_rounded = IconData(0xf02f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">currency_franc</i> &#x2014; material icon named "currency franc" (outlined).
  static const IconData currency_franc_outlined = IconData(0xf05d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">currency_lira</i> &#x2014; material icon named "currency lira".
  static const IconData currency_lira = IconData(0xf04de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">currency_lira</i> &#x2014; material icon named "currency lira" (sharp).
  static const IconData currency_lira_sharp = IconData(0xf03ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">currency_lira</i> &#x2014; material icon named "currency lira" (round).
  static const IconData currency_lira_rounded = IconData(0xf02f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">currency_lira</i> &#x2014; material icon named "currency lira" (outlined).
  static const IconData currency_lira_outlined = IconData(0xf05d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">currency_pound</i> &#x2014; material icon named "currency pound".
  static const IconData currency_pound = IconData(0xf04df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">currency_pound</i> &#x2014; material icon named "currency pound" (sharp).
  static const IconData currency_pound_sharp = IconData(0xf03eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">currency_pound</i> &#x2014; material icon named "currency pound" (round).
  static const IconData currency_pound_rounded = IconData(0xf02f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">currency_pound</i> &#x2014; material icon named "currency pound" (outlined).
  static const IconData currency_pound_outlined = IconData(0xf05d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">currency_ruble</i> &#x2014; material icon named "currency ruble".
  static const IconData currency_ruble = IconData(0xf04e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">currency_ruble</i> &#x2014; material icon named "currency ruble" (sharp).
  static const IconData currency_ruble_sharp = IconData(0xf03ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">currency_ruble</i> &#x2014; material icon named "currency ruble" (round).
  static const IconData currency_ruble_rounded = IconData(0xf02f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">currency_ruble</i> &#x2014; material icon named "currency ruble" (outlined).
  static const IconData currency_ruble_outlined = IconData(0xf05da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">currency_rupee</i> &#x2014; material icon named "currency rupee".
  static const IconData currency_rupee = IconData(0xf04e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">currency_rupee</i> &#x2014; material icon named "currency rupee" (sharp).
  static const IconData currency_rupee_sharp = IconData(0xf03ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">currency_rupee</i> &#x2014; material icon named "currency rupee" (round).
  static const IconData currency_rupee_rounded = IconData(0xf02fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">currency_rupee</i> &#x2014; material icon named "currency rupee" (outlined).
  static const IconData currency_rupee_outlined = IconData(0xf05db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">currency_yen</i> &#x2014; material icon named "currency yen".
  static const IconData currency_yen = IconData(0xf04e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">currency_yen</i> &#x2014; material icon named "currency yen" (sharp).
  static const IconData currency_yen_sharp = IconData(0xf03ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">currency_yen</i> &#x2014; material icon named "currency yen" (round).
  static const IconData currency_yen_rounded = IconData(0xf02fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">currency_yen</i> &#x2014; material icon named "currency yen" (outlined).
  static const IconData currency_yen_outlined = IconData(0xf05dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">currency_yuan</i> &#x2014; material icon named "currency yuan".
  static const IconData currency_yuan = IconData(0xf04e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">currency_yuan</i> &#x2014; material icon named "currency yuan" (sharp).
  static const IconData currency_yuan_sharp = IconData(0xf03ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">currency_yuan</i> &#x2014; material icon named "currency yuan" (round).
  static const IconData currency_yuan_rounded = IconData(0xf02fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">currency_yuan</i> &#x2014; material icon named "currency yuan" (outlined).
  static const IconData currency_yuan_outlined = IconData(0xf05dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">curtains</i> &#x2014; material icon named "curtains".
  static const IconData curtains = IconData(0xf0795, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">curtains</i> &#x2014; material icon named "curtains" (sharp).
  static const IconData curtains_sharp = IconData(0xf073e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">curtains</i> &#x2014; material icon named "curtains" (round).
  static const IconData curtains_rounded = IconData(0xf07ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">curtains</i> &#x2014; material icon named "curtains" (outlined).
  static const IconData curtains_outlined = IconData(0xf06e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">curtains_closed</i> &#x2014; material icon named "curtains closed".
  static const IconData curtains_closed = IconData(0xf0796, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">curtains_closed</i> &#x2014; material icon named "curtains closed" (sharp).
  static const IconData curtains_closed_sharp = IconData(0xf073d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">curtains_closed</i> &#x2014; material icon named "curtains closed" (round).
  static const IconData curtains_closed_rounded = IconData(0xf07ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">curtains_closed</i> &#x2014; material icon named "curtains closed" (outlined).
  static const IconData curtains_closed_outlined = IconData(0xf06e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cut</i> &#x2014; material icon named "cut".
  static const IconData cut = IconData(0xe191, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cut</i> &#x2014; material icon named "cut" (sharp).
  static const IconData cut_sharp = IconData(0xe88e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cut</i> &#x2014; material icon named "cut" (round).
  static const IconData cut_rounded = IconData(0xf66d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cut</i> &#x2014; material icon named "cut" (outlined).
  static const IconData cut_outlined = IconData(0xef80, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cyclone</i> &#x2014; material icon named "cyclone".
  static const IconData cyclone = IconData(0xf0797, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cyclone</i> &#x2014; material icon named "cyclone" (sharp).
  static const IconData cyclone_sharp = IconData(0xf073f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cyclone</i> &#x2014; material icon named "cyclone" (round).
  static const IconData cyclone_rounded = IconData(0xf07ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cyclone</i> &#x2014; material icon named "cyclone" (outlined).
  static const IconData cyclone_outlined = IconData(0xf06e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dangerous</i> &#x2014; material icon named "dangerous".
  static const IconData dangerous = IconData(0xe1af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dangerous</i> &#x2014; material icon named "dangerous" (sharp).
  static const IconData dangerous_sharp = IconData(0xe8ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dangerous</i> &#x2014; material icon named "dangerous" (round).
  static const IconData dangerous_rounded = IconData(0xf68b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dangerous</i> &#x2014; material icon named "dangerous" (outlined).
  static const IconData dangerous_outlined = IconData(0xef9e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dark_mode</i> &#x2014; material icon named "dark mode".
  static const IconData dark_mode = IconData(0xe1b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dark_mode</i> &#x2014; material icon named "dark mode" (sharp).
  static const IconData dark_mode_sharp = IconData(0xe8ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dark_mode</i> &#x2014; material icon named "dark mode" (round).
  static const IconData dark_mode_rounded = IconData(0xf68c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dark_mode</i> &#x2014; material icon named "dark mode" (outlined).
  static const IconData dark_mode_outlined = IconData(0xef9f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dashboard</i> &#x2014; material icon named "dashboard".
  static const IconData dashboard = IconData(0xe1b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dashboard</i> &#x2014; material icon named "dashboard" (sharp).
  static const IconData dashboard_sharp = IconData(0xe8af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dashboard</i> &#x2014; material icon named "dashboard" (round).
  static const IconData dashboard_rounded = IconData(0xf68e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dashboard</i> &#x2014; material icon named "dashboard" (outlined).
  static const IconData dashboard_outlined = IconData(0xefa1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dashboard_customize</i> &#x2014; material icon named "dashboard customize".
  static const IconData dashboard_customize = IconData(0xe1b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dashboard_customize</i> &#x2014; material icon named "dashboard customize" (sharp).
  static const IconData dashboard_customize_sharp = IconData(0xe8ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dashboard_customize</i> &#x2014; material icon named "dashboard customize" (round).
  static const IconData dashboard_customize_rounded = IconData(0xf68d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dashboard_customize</i> &#x2014; material icon named "dashboard customize" (outlined).
  static const IconData dashboard_customize_outlined = IconData(0xefa0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">data_array</i> &#x2014; material icon named "data array".
  static const IconData data_array = IconData(0xf04e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">data_array</i> &#x2014; material icon named "data array" (sharp).
  static const IconData data_array_sharp = IconData(0xf03f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">data_array</i> &#x2014; material icon named "data array" (round).
  static const IconData data_array_rounded = IconData(0xf02fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">data_array</i> &#x2014; material icon named "data array" (outlined).
  static const IconData data_array_outlined = IconData(0xf05de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">data_exploration</i> &#x2014; material icon named "data exploration".
  static const IconData data_exploration = IconData(0xf04e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">data_exploration</i> &#x2014; material icon named "data exploration" (sharp).
  static const IconData data_exploration_sharp = IconData(0xf03f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">data_exploration</i> &#x2014; material icon named "data exploration" (round).
  static const IconData data_exploration_rounded = IconData(0xf02fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">data_exploration</i> &#x2014; material icon named "data exploration" (outlined).
  static const IconData data_exploration_outlined = IconData(0xf05df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">data_object</i> &#x2014; material icon named "data object".
  static const IconData data_object = IconData(0xf04e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">data_object</i> &#x2014; material icon named "data object" (sharp).
  static const IconData data_object_sharp = IconData(0xf03f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">data_object</i> &#x2014; material icon named "data object" (round).
  static const IconData data_object_rounded = IconData(0xf02ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">data_object</i> &#x2014; material icon named "data object" (outlined).
  static const IconData data_object_outlined = IconData(0xf05e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">data_saver_off</i> &#x2014; material icon named "data saver off".
  static const IconData data_saver_off = IconData(0xe1b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">data_saver_off</i> &#x2014; material icon named "data saver off" (sharp).
  static const IconData data_saver_off_sharp = IconData(0xe8b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">data_saver_off</i> &#x2014; material icon named "data saver off" (round).
  static const IconData data_saver_off_rounded = IconData(0xf68f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">data_saver_off</i> &#x2014; material icon named "data saver off" (outlined).
  static const IconData data_saver_off_outlined = IconData(0xefa2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">data_saver_on</i> &#x2014; material icon named "data saver on".
  static const IconData data_saver_on = IconData(0xe1b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">data_saver_on</i> &#x2014; material icon named "data saver on" (sharp).
  static const IconData data_saver_on_sharp = IconData(0xe8b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">data_saver_on</i> &#x2014; material icon named "data saver on" (round).
  static const IconData data_saver_on_rounded = IconData(0xf690, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">data_saver_on</i> &#x2014; material icon named "data saver on" (outlined).
  static const IconData data_saver_on_outlined = IconData(0xefa3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">data_thresholding</i> &#x2014; material icon named "data thresholding".
  static const IconData data_thresholding = IconData(0xf04e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">data_thresholding</i> &#x2014; material icon named "data thresholding" (sharp).
  static const IconData data_thresholding_sharp = IconData(0xf03f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">data_thresholding</i> &#x2014; material icon named "data thresholding" (round).
  static const IconData data_thresholding_rounded = IconData(0xf0300, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">data_thresholding</i> &#x2014; material icon named "data thresholding" (outlined).
  static const IconData data_thresholding_outlined = IconData(0xf05e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">data_usage</i> &#x2014; material icon named "data usage".
  static const IconData data_usage = IconData(0xe1b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">data_usage</i> &#x2014; material icon named "data usage" (sharp).
  static const IconData data_usage_sharp = IconData(0xe8b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">data_usage</i> &#x2014; material icon named "data usage" (round).
  static const IconData data_usage_rounded = IconData(0xf691, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">data_usage</i> &#x2014; material icon named "data usage" (outlined).
  static const IconData data_usage_outlined = IconData(0xefa4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dataset</i> &#x2014; material icon named "dataset".
  static const IconData dataset = IconData(0xf0798, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dataset</i> &#x2014; material icon named "dataset" (sharp).
  static const IconData dataset_sharp = IconData(0xf0741, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dataset</i> &#x2014; material icon named "dataset" (round).
  static const IconData dataset_rounded = IconData(0xf07f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dataset</i> &#x2014; material icon named "dataset" (outlined).
  static const IconData dataset_outlined = IconData(0xf06e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dataset_linked</i> &#x2014; material icon named "dataset linked".
  static const IconData dataset_linked = IconData(0xf0799, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dataset_linked</i> &#x2014; material icon named "dataset linked" (sharp).
  static const IconData dataset_linked_sharp = IconData(0xf0740, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dataset_linked</i> &#x2014; material icon named "dataset linked" (round).
  static const IconData dataset_linked_rounded = IconData(0xf07f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dataset_linked</i> &#x2014; material icon named "dataset linked" (outlined).
  static const IconData dataset_linked_outlined = IconData(0xf06e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">date_range</i> &#x2014; material icon named "date range".
  static const IconData date_range = IconData(0xe1b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">date_range</i> &#x2014; material icon named "date range" (sharp).
  static const IconData date_range_sharp = IconData(0xe8b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">date_range</i> &#x2014; material icon named "date range" (round).
  static const IconData date_range_rounded = IconData(0xf692, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">date_range</i> &#x2014; material icon named "date range" (outlined).
  static const IconData date_range_outlined = IconData(0xefa5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">deblur</i> &#x2014; material icon named "deblur".
  static const IconData deblur = IconData(0xf04e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">deblur</i> &#x2014; material icon named "deblur" (sharp).
  static const IconData deblur_sharp = IconData(0xf03f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">deblur</i> &#x2014; material icon named "deblur" (round).
  static const IconData deblur_rounded = IconData(0xf0301, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">deblur</i> &#x2014; material icon named "deblur" (outlined).
  static const IconData deblur_outlined = IconData(0xf05e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">deck</i> &#x2014; material icon named "deck".
  static const IconData deck = IconData(0xe1b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">deck</i> &#x2014; material icon named "deck" (sharp).
  static const IconData deck_sharp = IconData(0xe8b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">deck</i> &#x2014; material icon named "deck" (round).
  static const IconData deck_rounded = IconData(0xf693, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">deck</i> &#x2014; material icon named "deck" (outlined).
  static const IconData deck_outlined = IconData(0xefa6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dehaze</i> &#x2014; material icon named "dehaze".
  static const IconData dehaze = IconData(0xe1b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dehaze</i> &#x2014; material icon named "dehaze" (sharp).
  static const IconData dehaze_sharp = IconData(0xe8b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dehaze</i> &#x2014; material icon named "dehaze" (round).
  static const IconData dehaze_rounded = IconData(0xf694, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dehaze</i> &#x2014; material icon named "dehaze" (outlined).
  static const IconData dehaze_outlined = IconData(0xefa7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">delete</i> &#x2014; material icon named "delete".
  static const IconData delete = IconData(0xe1b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">delete</i> &#x2014; material icon named "delete" (sharp).
  static const IconData delete_sharp = IconData(0xe8b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">delete</i> &#x2014; material icon named "delete" (round).
  static const IconData delete_rounded = IconData(0xf697, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">delete</i> &#x2014; material icon named "delete" (outlined).
  static const IconData delete_outlined = IconData(0xefaa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">delete_forever</i> &#x2014; material icon named "delete forever".
  static const IconData delete_forever = IconData(0xe1ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">delete_forever</i> &#x2014; material icon named "delete forever" (sharp).
  static const IconData delete_forever_sharp = IconData(0xe8b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">delete_forever</i> &#x2014; material icon named "delete forever" (round).
  static const IconData delete_forever_rounded = IconData(0xf695, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">delete_forever</i> &#x2014; material icon named "delete forever" (outlined).
  static const IconData delete_forever_outlined = IconData(0xefa8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">delete_outline</i> &#x2014; material icon named "delete outline".
  static const IconData delete_outline = IconData(0xe1bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">delete_outline</i> &#x2014; material icon named "delete outline" (sharp).
  static const IconData delete_outline_sharp = IconData(0xe8b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">delete_outline</i> &#x2014; material icon named "delete outline" (round).
  static const IconData delete_outline_rounded = IconData(0xf696, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">delete_outline</i> &#x2014; material icon named "delete outline" (outlined).
  static const IconData delete_outline_outlined = IconData(0xefa9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">delete_sweep</i> &#x2014; material icon named "delete sweep".
  static const IconData delete_sweep = IconData(0xe1bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">delete_sweep</i> &#x2014; material icon named "delete sweep" (sharp).
  static const IconData delete_sweep_sharp = IconData(0xe8b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">delete_sweep</i> &#x2014; material icon named "delete sweep" (round).
  static const IconData delete_sweep_rounded = IconData(0xf698, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">delete_sweep</i> &#x2014; material icon named "delete sweep" (outlined).
  static const IconData delete_sweep_outlined = IconData(0xefab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">delivery_dining</i> &#x2014; material icon named "delivery dining".
  static const IconData delivery_dining = IconData(0xe1bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">delivery_dining</i> &#x2014; material icon named "delivery dining" (sharp).
  static const IconData delivery_dining_sharp = IconData(0xe8ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">delivery_dining</i> &#x2014; material icon named "delivery dining" (round).
  static const IconData delivery_dining_rounded = IconData(0xf699, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">delivery_dining</i> &#x2014; material icon named "delivery dining" (outlined).
  static const IconData delivery_dining_outlined = IconData(0xefac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">density_large</i> &#x2014; material icon named "density large".
  static const IconData density_large = IconData(0xf04e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">density_large</i> &#x2014; material icon named "density large" (sharp).
  static const IconData density_large_sharp = IconData(0xf03f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">density_large</i> &#x2014; material icon named "density large" (round).
  static const IconData density_large_rounded = IconData(0xf0302, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">density_large</i> &#x2014; material icon named "density large" (outlined).
  static const IconData density_large_outlined = IconData(0xf05e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">density_medium</i> &#x2014; material icon named "density medium".
  static const IconData density_medium = IconData(0xf04ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">density_medium</i> &#x2014; material icon named "density medium" (sharp).
  static const IconData density_medium_sharp = IconData(0xf03f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">density_medium</i> &#x2014; material icon named "density medium" (round).
  static const IconData density_medium_rounded = IconData(0xf0303, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">density_medium</i> &#x2014; material icon named "density medium" (outlined).
  static const IconData density_medium_outlined = IconData(0xf05e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">density_small</i> &#x2014; material icon named "density small".
  static const IconData density_small = IconData(0xf04eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">density_small</i> &#x2014; material icon named "density small" (sharp).
  static const IconData density_small_sharp = IconData(0xf03f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">density_small</i> &#x2014; material icon named "density small" (round).
  static const IconData density_small_rounded = IconData(0xf0304, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">density_small</i> &#x2014; material icon named "density small" (outlined).
  static const IconData density_small_outlined = IconData(0xf05e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">departure_board</i> &#x2014; material icon named "departure board".
  static const IconData departure_board = IconData(0xe1be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">departure_board</i> &#x2014; material icon named "departure board" (sharp).
  static const IconData departure_board_sharp = IconData(0xe8bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">departure_board</i> &#x2014; material icon named "departure board" (round).
  static const IconData departure_board_rounded = IconData(0xf69a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">departure_board</i> &#x2014; material icon named "departure board" (outlined).
  static const IconData departure_board_outlined = IconData(0xefad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">description</i> &#x2014; material icon named "description".
  static const IconData description = IconData(0xe1bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">description</i> &#x2014; material icon named "description" (sharp).
  static const IconData description_sharp = IconData(0xe8bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">description</i> &#x2014; material icon named "description" (round).
  static const IconData description_rounded = IconData(0xf69b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">description</i> &#x2014; material icon named "description" (outlined).
  static const IconData description_outlined = IconData(0xefae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">deselect</i> &#x2014; material icon named "deselect".
  static const IconData deselect = IconData(0xf04ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">deselect</i> &#x2014; material icon named "deselect" (sharp).
  static const IconData deselect_sharp = IconData(0xf03f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">deselect</i> &#x2014; material icon named "deselect" (round).
  static const IconData deselect_rounded = IconData(0xf0305, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">deselect</i> &#x2014; material icon named "deselect" (outlined).
  static const IconData deselect_outlined = IconData(0xf05e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">design_services</i> &#x2014; material icon named "design services".
  static const IconData design_services = IconData(0xe1c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">design_services</i> &#x2014; material icon named "design services" (sharp).
  static const IconData design_services_sharp = IconData(0xe8bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">design_services</i> &#x2014; material icon named "design services" (round).
  static const IconData design_services_rounded = IconData(0xf69c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">design_services</i> &#x2014; material icon named "design services" (outlined).
  static const IconData design_services_outlined = IconData(0xefaf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">desk</i> &#x2014; material icon named "desk".
  static const IconData desk = IconData(0xf079a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">desk</i> &#x2014; material icon named "desk" (sharp).
  static const IconData desk_sharp = IconData(0xf0742, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">desk</i> &#x2014; material icon named "desk" (round).
  static const IconData desk_rounded = IconData(0xf07f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">desk</i> &#x2014; material icon named "desk" (outlined).
  static const IconData desk_outlined = IconData(0xf06ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">desktop_access_disabled</i> &#x2014; material icon named "desktop access disabled".
  static const IconData desktop_access_disabled = IconData(0xe1c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">desktop_access_disabled</i> &#x2014; material icon named "desktop access disabled" (sharp).
  static const IconData desktop_access_disabled_sharp = IconData(0xe8be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">desktop_access_disabled</i> &#x2014; material icon named "desktop access disabled" (round).
  static const IconData desktop_access_disabled_rounded = IconData(0xf69d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">desktop_access_disabled</i> &#x2014; material icon named "desktop access disabled" (outlined).
  static const IconData desktop_access_disabled_outlined = IconData(0xefb0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">desktop_mac</i> &#x2014; material icon named "desktop mac".
  static const IconData desktop_mac = IconData(0xe1c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">desktop_mac</i> &#x2014; material icon named "desktop mac" (sharp).
  static const IconData desktop_mac_sharp = IconData(0xe8bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">desktop_mac</i> &#x2014; material icon named "desktop mac" (round).
  static const IconData desktop_mac_rounded = IconData(0xf69e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">desktop_mac</i> &#x2014; material icon named "desktop mac" (outlined).
  static const IconData desktop_mac_outlined = IconData(0xefb1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">desktop_windows</i> &#x2014; material icon named "desktop windows".
  static const IconData desktop_windows = IconData(0xe1c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">desktop_windows</i> &#x2014; material icon named "desktop windows" (sharp).
  static const IconData desktop_windows_sharp = IconData(0xe8c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">desktop_windows</i> &#x2014; material icon named "desktop windows" (round).
  static const IconData desktop_windows_rounded = IconData(0xf69f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">desktop_windows</i> &#x2014; material icon named "desktop windows" (outlined).
  static const IconData desktop_windows_outlined = IconData(0xefb2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">details</i> &#x2014; material icon named "details".
  static const IconData details = IconData(0xe1c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">details</i> &#x2014; material icon named "details" (sharp).
  static const IconData details_sharp = IconData(0xe8c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">details</i> &#x2014; material icon named "details" (round).
  static const IconData details_rounded = IconData(0xf6a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">details</i> &#x2014; material icon named "details" (outlined).
  static const IconData details_outlined = IconData(0xefb3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">developer_board</i> &#x2014; material icon named "developer board".
  static const IconData developer_board = IconData(0xe1c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">developer_board</i> &#x2014; material icon named "developer board" (sharp).
  static const IconData developer_board_sharp = IconData(0xe8c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">developer_board</i> &#x2014; material icon named "developer board" (round).
  static const IconData developer_board_rounded = IconData(0xf6a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">developer_board</i> &#x2014; material icon named "developer board" (outlined).
  static const IconData developer_board_outlined = IconData(0xefb5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">developer_board_off</i> &#x2014; material icon named "developer board off".
  static const IconData developer_board_off = IconData(0xe1c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">developer_board_off</i> &#x2014; material icon named "developer board off" (sharp).
  static const IconData developer_board_off_sharp = IconData(0xe8c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">developer_board_off</i> &#x2014; material icon named "developer board off" (round).
  static const IconData developer_board_off_rounded = IconData(0xf6a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">developer_board_off</i> &#x2014; material icon named "developer board off" (outlined).
  static const IconData developer_board_off_outlined = IconData(0xefb4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">developer_mode</i> &#x2014; material icon named "developer mode".
  static const IconData developer_mode = IconData(0xe1c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">developer_mode</i> &#x2014; material icon named "developer mode" (sharp).
  static const IconData developer_mode_sharp = IconData(0xe8c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">developer_mode</i> &#x2014; material icon named "developer mode" (round).
  static const IconData developer_mode_rounded = IconData(0xf6a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">developer_mode</i> &#x2014; material icon named "developer mode" (outlined).
  static const IconData developer_mode_outlined = IconData(0xefb6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">device_hub</i> &#x2014; material icon named "device hub".
  static const IconData device_hub = IconData(0xe1c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">device_hub</i> &#x2014; material icon named "device hub" (sharp).
  static const IconData device_hub_sharp = IconData(0xe8c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">device_hub</i> &#x2014; material icon named "device hub" (round).
  static const IconData device_hub_rounded = IconData(0xf6a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">device_hub</i> &#x2014; material icon named "device hub" (outlined).
  static const IconData device_hub_outlined = IconData(0xefb7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">device_thermostat</i> &#x2014; material icon named "device thermostat".
  static const IconData device_thermostat = IconData(0xe1c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">device_thermostat</i> &#x2014; material icon named "device thermostat" (sharp).
  static const IconData device_thermostat_sharp = IconData(0xe8c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">device_thermostat</i> &#x2014; material icon named "device thermostat" (round).
  static const IconData device_thermostat_rounded = IconData(0xf6a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">device_thermostat</i> &#x2014; material icon named "device thermostat" (outlined).
  static const IconData device_thermostat_outlined = IconData(0xefb8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">device_unknown</i> &#x2014; material icon named "device unknown".
  static const IconData device_unknown = IconData(0xe1ca, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">device_unknown</i> &#x2014; material icon named "device unknown" (sharp).
  static const IconData device_unknown_sharp = IconData(0xe8c7, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">device_unknown</i> &#x2014; material icon named "device unknown" (round).
  static const IconData device_unknown_rounded = IconData(0xf6a6, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">device_unknown</i> &#x2014; material icon named "device unknown" (outlined).
  static const IconData device_unknown_outlined = IconData(0xefb9, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">devices</i> &#x2014; material icon named "devices".
  static const IconData devices = IconData(0xe1cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">devices</i> &#x2014; material icon named "devices" (sharp).
  static const IconData devices_sharp = IconData(0xe8c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">devices</i> &#x2014; material icon named "devices" (round).
  static const IconData devices_rounded = IconData(0xf6a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">devices</i> &#x2014; material icon named "devices" (outlined).
  static const IconData devices_outlined = IconData(0xefbb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">devices_fold</i> &#x2014; material icon named "devices fold".
  static const IconData devices_fold = IconData(0xf079b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">devices_fold</i> &#x2014; material icon named "devices fold" (sharp).
  static const IconData devices_fold_sharp = IconData(0xf0743, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">devices_fold</i> &#x2014; material icon named "devices fold" (round).
  static const IconData devices_fold_rounded = IconData(0xf07f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">devices_fold</i> &#x2014; material icon named "devices fold" (outlined).
  static const IconData devices_fold_outlined = IconData(0xf06eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">devices_other</i> &#x2014; material icon named "devices other".
  static const IconData devices_other = IconData(0xe1cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">devices_other</i> &#x2014; material icon named "devices other" (sharp).
  static const IconData devices_other_sharp = IconData(0xe8c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">devices_other</i> &#x2014; material icon named "devices other" (round).
  static const IconData devices_other_rounded = IconData(0xf6a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">devices_other</i> &#x2014; material icon named "devices other" (outlined).
  static const IconData devices_other_outlined = IconData(0xefba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dew_point</i> &#x2014; material icon named "dew point".
  static const IconData dew_point = IconData(0xf0859, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dialer_sip</i> &#x2014; material icon named "dialer sip".
  static const IconData dialer_sip = IconData(0xe1cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dialer_sip</i> &#x2014; material icon named "dialer sip" (sharp).
  static const IconData dialer_sip_sharp = IconData(0xe8ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dialer_sip</i> &#x2014; material icon named "dialer sip" (round).
  static const IconData dialer_sip_rounded = IconData(0xf6a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dialer_sip</i> &#x2014; material icon named "dialer sip" (outlined).
  static const IconData dialer_sip_outlined = IconData(0xefbc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dialpad</i> &#x2014; material icon named "dialpad".
  static const IconData dialpad = IconData(0xe1ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dialpad</i> &#x2014; material icon named "dialpad" (sharp).
  static const IconData dialpad_sharp = IconData(0xe8cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dialpad</i> &#x2014; material icon named "dialpad" (round).
  static const IconData dialpad_rounded = IconData(0xf6aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dialpad</i> &#x2014; material icon named "dialpad" (outlined).
  static const IconData dialpad_outlined = IconData(0xefbd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">diamond</i> &#x2014; material icon named "diamond".
  static const IconData diamond = IconData(0xf04ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">diamond</i> &#x2014; material icon named "diamond" (sharp).
  static const IconData diamond_sharp = IconData(0xf03f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">diamond</i> &#x2014; material icon named "diamond" (round).
  static const IconData diamond_rounded = IconData(0xf0306, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">diamond</i> &#x2014; material icon named "diamond" (outlined).
  static const IconData diamond_outlined = IconData(0xf05e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">difference</i> &#x2014; material icon named "difference".
  static const IconData difference = IconData(0xf04ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">difference</i> &#x2014; material icon named "difference" (sharp).
  static const IconData difference_sharp = IconData(0xf03fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">difference</i> &#x2014; material icon named "difference" (round).
  static const IconData difference_rounded = IconData(0xf0307, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">difference</i> &#x2014; material icon named "difference" (outlined).
  static const IconData difference_outlined = IconData(0xf05e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dining</i> &#x2014; material icon named "dining".
  static const IconData dining = IconData(0xe1cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dining</i> &#x2014; material icon named "dining" (sharp).
  static const IconData dining_sharp = IconData(0xe8cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dining</i> &#x2014; material icon named "dining" (round).
  static const IconData dining_rounded = IconData(0xf6ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dining</i> &#x2014; material icon named "dining" (outlined).
  static const IconData dining_outlined = IconData(0xefbe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dinner_dining</i> &#x2014; material icon named "dinner dining".
  static const IconData dinner_dining = IconData(0xe1d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dinner_dining</i> &#x2014; material icon named "dinner dining" (sharp).
  static const IconData dinner_dining_sharp = IconData(0xe8cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dinner_dining</i> &#x2014; material icon named "dinner dining" (round).
  static const IconData dinner_dining_rounded = IconData(0xf6ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dinner_dining</i> &#x2014; material icon named "dinner dining" (outlined).
  static const IconData dinner_dining_outlined = IconData(0xefbf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions</i> &#x2014; material icon named "directions".
  static const IconData directions = IconData(0xe1d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions</i> &#x2014; material icon named "directions" (sharp).
  static const IconData directions_sharp = IconData(0xe8d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions</i> &#x2014; material icon named "directions" (round).
  static const IconData directions_rounded = IconData(0xf6b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions</i> &#x2014; material icon named "directions" (outlined).
  static const IconData directions_outlined = IconData(0xefc8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_bike</i> &#x2014; material icon named "directions bike".
  static const IconData directions_bike = IconData(0xe1d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_bike</i> &#x2014; material icon named "directions bike" (sharp).
  static const IconData directions_bike_sharp = IconData(0xe8ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_bike</i> &#x2014; material icon named "directions bike" (round).
  static const IconData directions_bike_rounded = IconData(0xf6ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_bike</i> &#x2014; material icon named "directions bike" (outlined).
  static const IconData directions_bike_outlined = IconData(0xefc0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_boat</i> &#x2014; material icon named "directions boat".
  static const IconData directions_boat = IconData(0xe1d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_boat</i> &#x2014; material icon named "directions boat" (sharp).
  static const IconData directions_boat_sharp = IconData(0xe8d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_boat</i> &#x2014; material icon named "directions boat" (round).
  static const IconData directions_boat_rounded = IconData(0xf6af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_boat</i> &#x2014; material icon named "directions boat" (outlined).
  static const IconData directions_boat_outlined = IconData(0xefc2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_boat_filled</i> &#x2014; material icon named "directions boat filled".
  static const IconData directions_boat_filled = IconData(0xe1d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_boat_filled</i> &#x2014; material icon named "directions boat filled" (sharp).
  static const IconData directions_boat_filled_sharp = IconData(0xe8cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_boat_filled</i> &#x2014; material icon named "directions boat filled" (round).
  static const IconData directions_boat_filled_rounded = IconData(0xf6ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_boat_filled</i> &#x2014; material icon named "directions boat filled" (outlined).
  static const IconData directions_boat_filled_outlined = IconData(0xefc1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_bus</i> &#x2014; material icon named "directions bus".
  static const IconData directions_bus = IconData(0xe1d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_bus</i> &#x2014; material icon named "directions bus" (sharp).
  static const IconData directions_bus_sharp = IconData(0xe8d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_bus</i> &#x2014; material icon named "directions bus" (round).
  static const IconData directions_bus_rounded = IconData(0xf6b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_bus</i> &#x2014; material icon named "directions bus" (outlined).
  static const IconData directions_bus_outlined = IconData(0xefc4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_bus_filled</i> &#x2014; material icon named "directions bus filled".
  static const IconData directions_bus_filled = IconData(0xe1d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_bus_filled</i> &#x2014; material icon named "directions bus filled" (sharp).
  static const IconData directions_bus_filled_sharp = IconData(0xe8d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_bus_filled</i> &#x2014; material icon named "directions bus filled" (round).
  static const IconData directions_bus_filled_rounded = IconData(0xf6b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_bus_filled</i> &#x2014; material icon named "directions bus filled" (outlined).
  static const IconData directions_bus_filled_outlined = IconData(0xefc3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_car</i> &#x2014; material icon named "directions car".
  static const IconData directions_car = IconData(0xe1d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_car</i> &#x2014; material icon named "directions car" (sharp).
  static const IconData directions_car_sharp = IconData(0xe8d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_car</i> &#x2014; material icon named "directions car" (round).
  static const IconData directions_car_rounded = IconData(0xf6b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_car</i> &#x2014; material icon named "directions car" (outlined).
  static const IconData directions_car_outlined = IconData(0xefc6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_car_filled</i> &#x2014; material icon named "directions car filled".
  static const IconData directions_car_filled = IconData(0xe1d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_car_filled</i> &#x2014; material icon named "directions car filled" (sharp).
  static const IconData directions_car_filled_sharp = IconData(0xe8d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_car_filled</i> &#x2014; material icon named "directions car filled" (round).
  static const IconData directions_car_filled_rounded = IconData(0xf6b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_car_filled</i> &#x2014; material icon named "directions car filled" (outlined).
  static const IconData directions_car_filled_outlined = IconData(0xefc5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_ferry</i> &#x2014; material icon named "directions ferry".
  static const IconData directions_ferry = IconData(0xe1d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_ferry</i> &#x2014; material icon named "directions ferry" (sharp).
  static const IconData directions_ferry_sharp = IconData(0xe8d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_ferry</i> &#x2014; material icon named "directions ferry" (round).
  static const IconData directions_ferry_rounded = IconData(0xf6af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_ferry</i> &#x2014; material icon named "directions ferry" (outlined).
  static const IconData directions_ferry_outlined = IconData(0xefc2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_off</i> &#x2014; material icon named "directions off".
  static const IconData directions_off = IconData(0xe1d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_off</i> &#x2014; material icon named "directions off" (sharp).
  static const IconData directions_off_sharp = IconData(0xe8d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_off</i> &#x2014; material icon named "directions off" (round).
  static const IconData directions_off_rounded = IconData(0xf6b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_off</i> &#x2014; material icon named "directions off" (outlined).
  static const IconData directions_off_outlined = IconData(0xefc7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_railway</i> &#x2014; material icon named "directions railway".
  static const IconData directions_railway = IconData(0xe1da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_railway</i> &#x2014; material icon named "directions railway" (sharp).
  static const IconData directions_railway_sharp = IconData(0xe8d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_railway</i> &#x2014; material icon named "directions railway" (round).
  static const IconData directions_railway_rounded = IconData(0xf6b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_railway</i> &#x2014; material icon named "directions railway" (outlined).
  static const IconData directions_railway_outlined = IconData(0xefca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_railway_filled</i> &#x2014; material icon named "directions railway filled".
  static const IconData directions_railway_filled = IconData(0xe1db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_railway_filled</i> &#x2014; material icon named "directions railway filled" (sharp).
  static const IconData directions_railway_filled_sharp = IconData(0xe8d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_railway_filled</i> &#x2014; material icon named "directions railway filled" (round).
  static const IconData directions_railway_filled_rounded = IconData(0xf6b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_railway_filled</i> &#x2014; material icon named "directions railway filled" (outlined).
  static const IconData directions_railway_filled_outlined = IconData(0xefc9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_run</i> &#x2014; material icon named "directions run".
  static const IconData directions_run = IconData(0xe1dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_run</i> &#x2014; material icon named "directions run" (sharp).
  static const IconData directions_run_sharp = IconData(0xe8d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_run</i> &#x2014; material icon named "directions run" (round).
  static const IconData directions_run_rounded = IconData(0xf6b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_run</i> &#x2014; material icon named "directions run" (outlined).
  static const IconData directions_run_outlined = IconData(0xefcb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_subway</i> &#x2014; material icon named "directions subway".
  static const IconData directions_subway = IconData(0xe1dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_subway</i> &#x2014; material icon named "directions subway" (sharp).
  static const IconData directions_subway_sharp = IconData(0xe8db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_subway</i> &#x2014; material icon named "directions subway" (round).
  static const IconData directions_subway_rounded = IconData(0xf6ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_subway</i> &#x2014; material icon named "directions subway" (outlined).
  static const IconData directions_subway_outlined = IconData(0xefcd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_subway_filled</i> &#x2014; material icon named "directions subway filled".
  static const IconData directions_subway_filled = IconData(0xe1de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_subway_filled</i> &#x2014; material icon named "directions subway filled" (sharp).
  static const IconData directions_subway_filled_sharp = IconData(0xe8da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_subway_filled</i> &#x2014; material icon named "directions subway filled" (round).
  static const IconData directions_subway_filled_rounded = IconData(0xf6b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_subway_filled</i> &#x2014; material icon named "directions subway filled" (outlined).
  static const IconData directions_subway_filled_outlined = IconData(0xefcc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_train</i> &#x2014; material icon named "directions train".
  static const IconData directions_train = IconData(0xe1da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_train</i> &#x2014; material icon named "directions train" (sharp).
  static const IconData directions_train_sharp = IconData(0xe8d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_train</i> &#x2014; material icon named "directions train" (round).
  static const IconData directions_train_rounded = IconData(0xf6b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_train</i> &#x2014; material icon named "directions train" (outlined).
  static const IconData directions_train_outlined = IconData(0xefca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_transit</i> &#x2014; material icon named "directions transit".
  static const IconData directions_transit = IconData(0xe1df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_transit</i> &#x2014; material icon named "directions transit" (sharp).
  static const IconData directions_transit_sharp = IconData(0xe8dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_transit</i> &#x2014; material icon named "directions transit" (round).
  static const IconData directions_transit_rounded = IconData(0xf6bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_transit</i> &#x2014; material icon named "directions transit" (outlined).
  static const IconData directions_transit_outlined = IconData(0xefcf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_transit_filled</i> &#x2014; material icon named "directions transit filled".
  static const IconData directions_transit_filled = IconData(0xe1e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_transit_filled</i> &#x2014; material icon named "directions transit filled" (sharp).
  static const IconData directions_transit_filled_sharp = IconData(0xe8dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_transit_filled</i> &#x2014; material icon named "directions transit filled" (round).
  static const IconData directions_transit_filled_rounded = IconData(0xf6bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_transit_filled</i> &#x2014; material icon named "directions transit filled" (outlined).
  static const IconData directions_transit_filled_outlined = IconData(0xefce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_walk</i> &#x2014; material icon named "directions walk".
  static const IconData directions_walk = IconData(0xe1e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_walk</i> &#x2014; material icon named "directions walk" (sharp).
  static const IconData directions_walk_sharp = IconData(0xe8de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_walk</i> &#x2014; material icon named "directions walk" (round).
  static const IconData directions_walk_rounded = IconData(0xf6bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_walk</i> &#x2014; material icon named "directions walk" (outlined).
  static const IconData directions_walk_outlined = IconData(0xefd0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dirty_lens</i> &#x2014; material icon named "dirty lens".
  static const IconData dirty_lens = IconData(0xe1e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dirty_lens</i> &#x2014; material icon named "dirty lens" (sharp).
  static const IconData dirty_lens_sharp = IconData(0xe8df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dirty_lens</i> &#x2014; material icon named "dirty lens" (round).
  static const IconData dirty_lens_rounded = IconData(0xf6be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dirty_lens</i> &#x2014; material icon named "dirty lens" (outlined).
  static const IconData dirty_lens_outlined = IconData(0xefd1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">disabled_by_default</i> &#x2014; material icon named "disabled by default".
  static const IconData disabled_by_default = IconData(0xe1e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">disabled_by_default</i> &#x2014; material icon named "disabled by default" (sharp).
  static const IconData disabled_by_default_sharp = IconData(0xe8e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">disabled_by_default</i> &#x2014; material icon named "disabled by default" (round).
  static const IconData disabled_by_default_rounded = IconData(0xf6bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">disabled_by_default</i> &#x2014; material icon named "disabled by default" (outlined).
  static const IconData disabled_by_default_outlined = IconData(0xefd2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">disabled_visible</i> &#x2014; material icon named "disabled visible".
  static const IconData disabled_visible = IconData(0xf04ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">disabled_visible</i> &#x2014; material icon named "disabled visible" (sharp).
  static const IconData disabled_visible_sharp = IconData(0xf03fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">disabled_visible</i> &#x2014; material icon named "disabled visible" (round).
  static const IconData disabled_visible_rounded = IconData(0xf0308, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">disabled_visible</i> &#x2014; material icon named "disabled visible" (outlined).
  static const IconData disabled_visible_outlined = IconData(0xf05e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">disc_full</i> &#x2014; material icon named "disc full".
  static const IconData disc_full = IconData(0xe1e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">disc_full</i> &#x2014; material icon named "disc full" (sharp).
  static const IconData disc_full_sharp = IconData(0xe8e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">disc_full</i> &#x2014; material icon named "disc full" (round).
  static const IconData disc_full_rounded = IconData(0xf6c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">disc_full</i> &#x2014; material icon named "disc full" (outlined).
  static const IconData disc_full_outlined = IconData(0xefd3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">discord</i> &#x2014; material icon named "discord".
  static const IconData discord = IconData(0xf04f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">discord</i> &#x2014; material icon named "discord" (sharp).
  static const IconData discord_sharp = IconData(0xf03fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">discord</i> &#x2014; material icon named "discord" (round).
  static const IconData discord_rounded = IconData(0xf0309, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">discord</i> &#x2014; material icon named "discord" (outlined).
  static const IconData discord_outlined = IconData(0xf05ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">discount</i> &#x2014; material icon named "discount".
  static const IconData discount = IconData(0xf06bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">discount</i> &#x2014; material icon named "discount" (sharp).
  static const IconData discount_sharp = IconData(0xf06b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">discount</i> &#x2014; material icon named "discount" (round).
  static const IconData discount_rounded = IconData(0xf06ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">discount</i> &#x2014; material icon named "discount" (outlined).
  static const IconData discount_outlined = IconData(0xf06a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">display_settings</i> &#x2014; material icon named "display settings".
  static const IconData display_settings = IconData(0xf04f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">display_settings</i> &#x2014; material icon named "display settings" (sharp).
  static const IconData display_settings_sharp = IconData(0xf03fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">display_settings</i> &#x2014; material icon named "display settings" (round).
  static const IconData display_settings_rounded = IconData(0xf030a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">display_settings</i> &#x2014; material icon named "display settings" (outlined).
  static const IconData display_settings_outlined = IconData(0xf05eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">diversity_1</i> &#x2014; material icon named "diversity 1".
  static const IconData diversity_1 = IconData(0xf085a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">diversity_1</i> &#x2014; material icon named "diversity 1" (sharp).
  static const IconData diversity_1_sharp = IconData(0xf0838, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">diversity_1</i> &#x2014; material icon named "diversity 1" (round).
  static const IconData diversity_1_rounded = IconData(0xf0881, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">diversity_1</i> &#x2014; material icon named "diversity 1" (outlined).
  static const IconData diversity_1_outlined = IconData(0xf089f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">diversity_2</i> &#x2014; material icon named "diversity 2".
  static const IconData diversity_2 = IconData(0xf085b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">diversity_2</i> &#x2014; material icon named "diversity 2" (sharp).
  static const IconData diversity_2_sharp = IconData(0xf0839, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">diversity_2</i> &#x2014; material icon named "diversity 2" (round).
  static const IconData diversity_2_rounded = IconData(0xf0882, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">diversity_2</i> &#x2014; material icon named "diversity 2" (outlined).
  static const IconData diversity_2_outlined = IconData(0xf08a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">diversity_3</i> &#x2014; material icon named "diversity 3".
  static const IconData diversity_3 = IconData(0xf085c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">diversity_3</i> &#x2014; material icon named "diversity 3" (sharp).
  static const IconData diversity_3_sharp = IconData(0xf083a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">diversity_3</i> &#x2014; material icon named "diversity 3" (round).
  static const IconData diversity_3_rounded = IconData(0xf0883, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">diversity_3</i> &#x2014; material icon named "diversity 3" (outlined).
  static const IconData diversity_3_outlined = IconData(0xf08a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dnd_forwardslash</i> &#x2014; material icon named "dnd forwardslash".
  static const IconData dnd_forwardslash = IconData(0xe1eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dnd_forwardslash</i> &#x2014; material icon named "dnd forwardslash" (sharp).
  static const IconData dnd_forwardslash_sharp = IconData(0xe8e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dnd_forwardslash</i> &#x2014; material icon named "dnd forwardslash" (round).
  static const IconData dnd_forwardslash_rounded = IconData(0xf6c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dnd_forwardslash</i> &#x2014; material icon named "dnd forwardslash" (outlined).
  static const IconData dnd_forwardslash_outlined = IconData(0xefd9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dns</i> &#x2014; material icon named "dns".
  static const IconData dns = IconData(0xe1e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dns</i> &#x2014; material icon named "dns" (sharp).
  static const IconData dns_sharp = IconData(0xe8e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dns</i> &#x2014; material icon named "dns" (round).
  static const IconData dns_rounded = IconData(0xf6c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dns</i> &#x2014; material icon named "dns" (outlined).
  static const IconData dns_outlined = IconData(0xefd4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_disturb</i> &#x2014; material icon named "do disturb".
  static const IconData do_disturb = IconData(0xe1e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_disturb</i> &#x2014; material icon named "do disturb" (sharp).
  static const IconData do_disturb_sharp = IconData(0xe8e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_disturb</i> &#x2014; material icon named "do disturb" (round).
  static const IconData do_disturb_rounded = IconData(0xf6c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_disturb</i> &#x2014; material icon named "do disturb" (outlined).
  static const IconData do_disturb_outlined = IconData(0xefd8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_disturb_alt</i> &#x2014; material icon named "do disturb alt".
  static const IconData do_disturb_alt = IconData(0xe1e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_disturb_alt</i> &#x2014; material icon named "do disturb alt" (sharp).
  static const IconData do_disturb_alt_sharp = IconData(0xe8e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_disturb_alt</i> &#x2014; material icon named "do disturb alt" (round).
  static const IconData do_disturb_alt_rounded = IconData(0xf6c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_disturb_alt</i> &#x2014; material icon named "do disturb alt" (outlined).
  static const IconData do_disturb_alt_outlined = IconData(0xefd5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_disturb_off</i> &#x2014; material icon named "do disturb off".
  static const IconData do_disturb_off = IconData(0xe1e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_disturb_off</i> &#x2014; material icon named "do disturb off" (sharp).
  static const IconData do_disturb_off_sharp = IconData(0xe8e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_disturb_off</i> &#x2014; material icon named "do disturb off" (round).
  static const IconData do_disturb_off_rounded = IconData(0xf6c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_disturb_off</i> &#x2014; material icon named "do disturb off" (outlined).
  static const IconData do_disturb_off_outlined = IconData(0xefd6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_disturb_on</i> &#x2014; material icon named "do disturb on".
  static const IconData do_disturb_on = IconData(0xe1e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_disturb_on</i> &#x2014; material icon named "do disturb on" (sharp).
  static const IconData do_disturb_on_sharp = IconData(0xe8e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_disturb_on</i> &#x2014; material icon named "do disturb on" (round).
  static const IconData do_disturb_on_rounded = IconData(0xf6c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_disturb_on</i> &#x2014; material icon named "do disturb on" (outlined).
  static const IconData do_disturb_on_outlined = IconData(0xefd7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_not_disturb</i> &#x2014; material icon named "do not disturb".
  static const IconData do_not_disturb = IconData(0xe1ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_not_disturb</i> &#x2014; material icon named "do not disturb" (sharp).
  static const IconData do_not_disturb_sharp = IconData(0xe8eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_not_disturb</i> &#x2014; material icon named "do not disturb" (round).
  static const IconData do_not_disturb_rounded = IconData(0xf6ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_not_disturb</i> &#x2014; material icon named "do not disturb" (outlined).
  static const IconData do_not_disturb_outlined = IconData(0xefdd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_not_disturb_alt</i> &#x2014; material icon named "do not disturb alt".
  static const IconData do_not_disturb_alt = IconData(0xe1eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_not_disturb_alt</i> &#x2014; material icon named "do not disturb alt" (sharp).
  static const IconData do_not_disturb_alt_sharp = IconData(0xe8e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_not_disturb_alt</i> &#x2014; material icon named "do not disturb alt" (round).
  static const IconData do_not_disturb_alt_rounded = IconData(0xf6c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_not_disturb_alt</i> &#x2014; material icon named "do not disturb alt" (outlined).
  static const IconData do_not_disturb_alt_outlined = IconData(0xefd9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_not_disturb_off</i> &#x2014; material icon named "do not disturb off".
  static const IconData do_not_disturb_off = IconData(0xe1ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_not_disturb_off</i> &#x2014; material icon named "do not disturb off" (sharp).
  static const IconData do_not_disturb_off_sharp = IconData(0xe8e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_not_disturb_off</i> &#x2014; material icon named "do not disturb off" (round).
  static const IconData do_not_disturb_off_rounded = IconData(0xf6c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_not_disturb_off</i> &#x2014; material icon named "do not disturb off" (outlined).
  static const IconData do_not_disturb_off_outlined = IconData(0xefda, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_not_disturb_on</i> &#x2014; material icon named "do not disturb on".
  static const IconData do_not_disturb_on = IconData(0xe1ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_not_disturb_on</i> &#x2014; material icon named "do not disturb on" (sharp).
  static const IconData do_not_disturb_on_sharp = IconData(0xe8e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_not_disturb_on</i> &#x2014; material icon named "do not disturb on" (round).
  static const IconData do_not_disturb_on_rounded = IconData(0xf6c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_not_disturb_on</i> &#x2014; material icon named "do not disturb on" (outlined).
  static const IconData do_not_disturb_on_outlined = IconData(0xefdb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_not_disturb_on_total_silence</i> &#x2014; material icon named "do not disturb on total silence".
  static const IconData do_not_disturb_on_total_silence = IconData(0xe1ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_not_disturb_on_total_silence</i> &#x2014; material icon named "do not disturb on total silence" (sharp).
  static const IconData do_not_disturb_on_total_silence_sharp = IconData(0xe8ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_not_disturb_on_total_silence</i> &#x2014; material icon named "do not disturb on total silence" (round).
  static const IconData do_not_disturb_on_total_silence_rounded = IconData(0xf6c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_not_disturb_on_total_silence</i> &#x2014; material icon named "do not disturb on total silence" (outlined).
  static const IconData do_not_disturb_on_total_silence_outlined = IconData(0xefdc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_not_step</i> &#x2014; material icon named "do not step".
  static const IconData do_not_step = IconData(0xe1ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_not_step</i> &#x2014; material icon named "do not step" (sharp).
  static const IconData do_not_step_sharp = IconData(0xe8ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_not_step</i> &#x2014; material icon named "do not step" (round).
  static const IconData do_not_step_rounded = IconData(0xf6cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_not_step</i> &#x2014; material icon named "do not step" (outlined).
  static const IconData do_not_step_outlined = IconData(0xefde, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_not_touch</i> &#x2014; material icon named "do not touch".
  static const IconData do_not_touch = IconData(0xe1f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_not_touch</i> &#x2014; material icon named "do not touch" (sharp).
  static const IconData do_not_touch_sharp = IconData(0xe8ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_not_touch</i> &#x2014; material icon named "do not touch" (round).
  static const IconData do_not_touch_rounded = IconData(0xf6cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_not_touch</i> &#x2014; material icon named "do not touch" (outlined).
  static const IconData do_not_touch_outlined = IconData(0xefdf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dock</i> &#x2014; material icon named "dock".
  static const IconData dock = IconData(0xe1f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dock</i> &#x2014; material icon named "dock" (sharp).
  static const IconData dock_sharp = IconData(0xe8ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dock</i> &#x2014; material icon named "dock" (round).
  static const IconData dock_rounded = IconData(0xf6cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dock</i> &#x2014; material icon named "dock" (outlined).
  static const IconData dock_outlined = IconData(0xefe0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">document_scanner</i> &#x2014; material icon named "document scanner".
  static const IconData document_scanner = IconData(0xe1f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">document_scanner</i> &#x2014; material icon named "document scanner" (sharp).
  static const IconData document_scanner_sharp = IconData(0xe8ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">document_scanner</i> &#x2014; material icon named "document scanner" (round).
  static const IconData document_scanner_rounded = IconData(0xf6ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">document_scanner</i> &#x2014; material icon named "document scanner" (outlined).
  static const IconData document_scanner_outlined = IconData(0xefe1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">domain</i> &#x2014; material icon named "domain".
  static const IconData domain = IconData(0xe1f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">domain</i> &#x2014; material icon named "domain" (sharp).
  static const IconData domain_sharp = IconData(0xe8f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">domain</i> &#x2014; material icon named "domain" (round).
  static const IconData domain_rounded = IconData(0xf6d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">domain</i> &#x2014; material icon named "domain" (outlined).
  static const IconData domain_outlined = IconData(0xefe3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">domain_add</i> &#x2014; material icon named "domain add".
  static const IconData domain_add = IconData(0xf04f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">domain_add</i> &#x2014; material icon named "domain add" (sharp).
  static const IconData domain_add_sharp = IconData(0xf03fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">domain_add</i> &#x2014; material icon named "domain add" (round).
  static const IconData domain_add_rounded = IconData(0xf030b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">domain_add</i> &#x2014; material icon named "domain add" (outlined).
  static const IconData domain_add_outlined = IconData(0xf05ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">domain_disabled</i> &#x2014; material icon named "domain disabled".
  static const IconData domain_disabled = IconData(0xe1f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">domain_disabled</i> &#x2014; material icon named "domain disabled" (sharp).
  static const IconData domain_disabled_sharp = IconData(0xe8f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">domain_disabled</i> &#x2014; material icon named "domain disabled" (round).
  static const IconData domain_disabled_rounded = IconData(0xf6cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">domain_disabled</i> &#x2014; material icon named "domain disabled" (outlined).
  static const IconData domain_disabled_outlined = IconData(0xefe2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">domain_verification</i> &#x2014; material icon named "domain verification".
  static const IconData domain_verification = IconData(0xe1f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">domain_verification</i> &#x2014; material icon named "domain verification" (sharp).
  static const IconData domain_verification_sharp = IconData(0xe8f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">domain_verification</i> &#x2014; material icon named "domain verification" (round).
  static const IconData domain_verification_rounded = IconData(0xf6d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">domain_verification</i> &#x2014; material icon named "domain verification" (outlined).
  static const IconData domain_verification_outlined = IconData(0xefe4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">done</i> &#x2014; material icon named "done".
  static const IconData done = IconData(0xe1f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">done</i> &#x2014; material icon named "done" (sharp).
  static const IconData done_sharp = IconData(0xe8f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">done</i> &#x2014; material icon named "done" (round).
  static const IconData done_rounded = IconData(0xf6d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">done</i> &#x2014; material icon named "done" (outlined).
  static const IconData done_outlined = IconData(0xefe7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">done_all</i> &#x2014; material icon named "done all".
  static const IconData done_all = IconData(0xe1f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">done_all</i> &#x2014; material icon named "done all" (sharp).
  static const IconData done_all_sharp = IconData(0xe8f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">done_all</i> &#x2014; material icon named "done all" (round).
  static const IconData done_all_rounded = IconData(0xf6d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">done_all</i> &#x2014; material icon named "done all" (outlined).
  static const IconData done_all_outlined = IconData(0xefe5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">done_outline</i> &#x2014; material icon named "done outline".
  static const IconData done_outline = IconData(0xe1f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">done_outline</i> &#x2014; material icon named "done outline" (sharp).
  static const IconData done_outline_sharp = IconData(0xe8f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">done_outline</i> &#x2014; material icon named "done outline" (round).
  static const IconData done_outline_rounded = IconData(0xf6d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">done_outline</i> &#x2014; material icon named "done outline" (outlined).
  static const IconData done_outline_outlined = IconData(0xefe6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">donut_large</i> &#x2014; material icon named "donut large".
  static const IconData donut_large = IconData(0xe1f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">donut_large</i> &#x2014; material icon named "donut large" (sharp).
  static const IconData donut_large_sharp = IconData(0xe8f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">donut_large</i> &#x2014; material icon named "donut large" (round).
  static const IconData donut_large_rounded = IconData(0xf6d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">donut_large</i> &#x2014; material icon named "donut large" (outlined).
  static const IconData donut_large_outlined = IconData(0xefe8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">donut_small</i> &#x2014; material icon named "donut small".
  static const IconData donut_small = IconData(0xe1fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">donut_small</i> &#x2014; material icon named "donut small" (sharp).
  static const IconData donut_small_sharp = IconData(0xe8f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">donut_small</i> &#x2014; material icon named "donut small" (round).
  static const IconData donut_small_rounded = IconData(0xf6d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">donut_small</i> &#x2014; material icon named "donut small" (outlined).
  static const IconData donut_small_outlined = IconData(0xefe9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">door_back</i> &#x2014; material icon named "door back".
  static const IconData door_back_door = IconData(0xe1fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">door_back</i> &#x2014; material icon named "door back" (sharp).
  static const IconData door_back_door_sharp = IconData(0xe8f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">door_back</i> &#x2014; material icon named "door back" (round).
  static const IconData door_back_door_rounded = IconData(0xf6d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">door_back</i> &#x2014; material icon named "door back" (outlined).
  static const IconData door_back_door_outlined = IconData(0xefea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">door_front</i> &#x2014; material icon named "door front".
  static const IconData door_front_door = IconData(0xe1fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">door_front</i> &#x2014; material icon named "door front" (sharp).
  static const IconData door_front_door_sharp = IconData(0xe8f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">door_front</i> &#x2014; material icon named "door front" (round).
  static const IconData door_front_door_rounded = IconData(0xf6d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">door_front</i> &#x2014; material icon named "door front" (outlined).
  static const IconData door_front_door_outlined = IconData(0xefeb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">door_sliding</i> &#x2014; material icon named "door sliding".
  static const IconData door_sliding = IconData(0xe1fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">door_sliding</i> &#x2014; material icon named "door sliding" (sharp).
  static const IconData door_sliding_sharp = IconData(0xe8fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">door_sliding</i> &#x2014; material icon named "door sliding" (round).
  static const IconData door_sliding_rounded = IconData(0xf6d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">door_sliding</i> &#x2014; material icon named "door sliding" (outlined).
  static const IconData door_sliding_outlined = IconData(0xefec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">doorbell</i> &#x2014; material icon named "doorbell".
  static const IconData doorbell = IconData(0xe1fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">doorbell</i> &#x2014; material icon named "doorbell" (sharp).
  static const IconData doorbell_sharp = IconData(0xe8fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">doorbell</i> &#x2014; material icon named "doorbell" (round).
  static const IconData doorbell_rounded = IconData(0xf6da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">doorbell</i> &#x2014; material icon named "doorbell" (outlined).
  static const IconData doorbell_outlined = IconData(0xefed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">double_arrow</i> &#x2014; material icon named "double arrow".
  static const IconData double_arrow = IconData(0xe1ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">double_arrow</i> &#x2014; material icon named "double arrow" (sharp).
  static const IconData double_arrow_sharp = IconData(0xe8fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">double_arrow</i> &#x2014; material icon named "double arrow" (round).
  static const IconData double_arrow_rounded = IconData(0xf6db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">double_arrow</i> &#x2014; material icon named "double arrow" (outlined).
  static const IconData double_arrow_outlined = IconData(0xefee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">downhill_skiing</i> &#x2014; material icon named "downhill skiing".
  static const IconData downhill_skiing = IconData(0xe200, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">downhill_skiing</i> &#x2014; material icon named "downhill skiing" (sharp).
  static const IconData downhill_skiing_sharp = IconData(0xe8fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">downhill_skiing</i> &#x2014; material icon named "downhill skiing" (round).
  static const IconData downhill_skiing_rounded = IconData(0xf6dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">downhill_skiing</i> &#x2014; material icon named "downhill skiing" (outlined).
  static const IconData downhill_skiing_outlined = IconData(0xefef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">download</i> &#x2014; material icon named "download".
  static const IconData download = IconData(0xe201, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">download</i> &#x2014; material icon named "download" (sharp).
  static const IconData download_sharp = IconData(0xe900, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">download</i> &#x2014; material icon named "download" (round).
  static const IconData download_rounded = IconData(0xf6df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">download</i> &#x2014; material icon named "download" (outlined).
  static const IconData download_outlined = IconData(0xeff2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">download_done</i> &#x2014; material icon named "download done".
  static const IconData download_done = IconData(0xe202, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">download_done</i> &#x2014; material icon named "download done" (sharp).
  static const IconData download_done_sharp = IconData(0xe8fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">download_done</i> &#x2014; material icon named "download done" (round).
  static const IconData download_done_rounded = IconData(0xf6dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">download_done</i> &#x2014; material icon named "download done" (outlined).
  static const IconData download_done_outlined = IconData(0xeff0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">download_for_offline</i> &#x2014; material icon named "download for offline".
  static const IconData download_for_offline = IconData(0xe203, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">download_for_offline</i> &#x2014; material icon named "download for offline" (sharp).
  static const IconData download_for_offline_sharp = IconData(0xe8ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">download_for_offline</i> &#x2014; material icon named "download for offline" (round).
  static const IconData download_for_offline_rounded = IconData(0xf6de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">download_for_offline</i> &#x2014; material icon named "download for offline" (outlined).
  static const IconData download_for_offline_outlined = IconData(0xeff1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">downloading</i> &#x2014; material icon named "downloading".
  static const IconData downloading = IconData(0xe204, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">downloading</i> &#x2014; material icon named "downloading" (sharp).
  static const IconData downloading_sharp = IconData(0xe901, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">downloading</i> &#x2014; material icon named "downloading" (round).
  static const IconData downloading_rounded = IconData(0xf6e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">downloading</i> &#x2014; material icon named "downloading" (outlined).
  static const IconData downloading_outlined = IconData(0xeff3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">drafts</i> &#x2014; material icon named "drafts".
  static const IconData drafts = IconData(0xe205, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">drafts</i> &#x2014; material icon named "drafts" (sharp).
  static const IconData drafts_sharp = IconData(0xe902, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">drafts</i> &#x2014; material icon named "drafts" (round).
  static const IconData drafts_rounded = IconData(0xf6e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">drafts</i> &#x2014; material icon named "drafts" (outlined).
  static const IconData drafts_outlined = IconData(0xeff4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">drag_handle</i> &#x2014; material icon named "drag handle".
  static const IconData drag_handle = IconData(0xe206, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">drag_handle</i> &#x2014; material icon named "drag handle" (sharp).
  static const IconData drag_handle_sharp = IconData(0xe903, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">drag_handle</i> &#x2014; material icon named "drag handle" (round).
  static const IconData drag_handle_rounded = IconData(0xf6e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">drag_handle</i> &#x2014; material icon named "drag handle" (outlined).
  static const IconData drag_handle_outlined = IconData(0xeff5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">drag_indicator</i> &#x2014; material icon named "drag indicator".
  static const IconData drag_indicator = IconData(0xe207, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">drag_indicator</i> &#x2014; material icon named "drag indicator" (sharp).
  static const IconData drag_indicator_sharp = IconData(0xe904, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">drag_indicator</i> &#x2014; material icon named "drag indicator" (round).
  static const IconData drag_indicator_rounded = IconData(0xf6e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">drag_indicator</i> &#x2014; material icon named "drag indicator" (outlined).
  static const IconData drag_indicator_outlined = IconData(0xeff6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">draw</i> &#x2014; material icon named "draw".
  static const IconData draw = IconData(0xf04f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">draw</i> &#x2014; material icon named "draw" (sharp).
  static const IconData draw_sharp = IconData(0xf03ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">draw</i> &#x2014; material icon named "draw" (round).
  static const IconData draw_rounded = IconData(0xf030c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">draw</i> &#x2014; material icon named "draw" (outlined).
  static const IconData draw_outlined = IconData(0xf05ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">drive_eta</i> &#x2014; material icon named "drive eta".
  static const IconData drive_eta = IconData(0xe208, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">drive_eta</i> &#x2014; material icon named "drive eta" (sharp).
  static const IconData drive_eta_sharp = IconData(0xe905, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">drive_eta</i> &#x2014; material icon named "drive eta" (round).
  static const IconData drive_eta_rounded = IconData(0xf6e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">drive_eta</i> &#x2014; material icon named "drive eta" (outlined).
  static const IconData drive_eta_outlined = IconData(0xeff7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">drive_file_move</i> &#x2014; material icon named "drive file move".
  static const IconData drive_file_move = IconData(0xe209, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">drive_file_move</i> &#x2014; material icon named "drive file move" (sharp).
  static const IconData drive_file_move_sharp = IconData(0xe906, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">drive_file_move</i> &#x2014; material icon named "drive file move" (round).
  static const IconData drive_file_move_rounded = IconData(0xf6e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">drive_file_move</i> &#x2014; material icon named "drive file move" (outlined).
  static const IconData drive_file_move_outlined = IconData(0xeff8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">drive_file_move_outline</i> &#x2014; material icon named "drive file move outline".
  static const IconData drive_file_move_outline = IconData(0xe20a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">drive_file_move_rtl</i> &#x2014; material icon named "drive file move rtl".
  static const IconData drive_file_move_rtl = IconData(0xf04f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">drive_file_move_rtl</i> &#x2014; material icon named "drive file move rtl" (sharp).
  static const IconData drive_file_move_rtl_sharp = IconData(0xf0400, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">drive_file_move_rtl</i> &#x2014; material icon named "drive file move rtl" (round).
  static const IconData drive_file_move_rtl_rounded = IconData(0xf030d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">drive_file_move_rtl</i> &#x2014; material icon named "drive file move rtl" (outlined).
  static const IconData drive_file_move_rtl_outlined = IconData(0xf05ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">drive_file_rename_outline</i> &#x2014; material icon named "drive file rename outline".
  static const IconData drive_file_rename_outline = IconData(0xe20b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">drive_file_rename_outline</i> &#x2014; material icon named "drive file rename outline" (sharp).
  static const IconData drive_file_rename_outline_sharp = IconData(0xe907, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">drive_file_rename_outline</i> &#x2014; material icon named "drive file rename outline" (round).
  static const IconData drive_file_rename_outline_rounded = IconData(0xf6e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">drive_file_rename_outline</i> &#x2014; material icon named "drive file rename outline" (outlined).
  static const IconData drive_file_rename_outline_outlined = IconData(0xeff9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">drive_folder_upload</i> &#x2014; material icon named "drive folder upload".
  static const IconData drive_folder_upload = IconData(0xe20c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">drive_folder_upload</i> &#x2014; material icon named "drive folder upload" (sharp).
  static const IconData drive_folder_upload_sharp = IconData(0xe908, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">drive_folder_upload</i> &#x2014; material icon named "drive folder upload" (round).
  static const IconData drive_folder_upload_rounded = IconData(0xf6e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">drive_folder_upload</i> &#x2014; material icon named "drive folder upload" (outlined).
  static const IconData drive_folder_upload_outlined = IconData(0xeffa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dry</i> &#x2014; material icon named "dry".
  static const IconData dry = IconData(0xe20d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dry</i> &#x2014; material icon named "dry" (sharp).
  static const IconData dry_sharp = IconData(0xe90a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dry</i> &#x2014; material icon named "dry" (round).
  static const IconData dry_rounded = IconData(0xf6e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dry</i> &#x2014; material icon named "dry" (outlined).
  static const IconData dry_outlined = IconData(0xeffc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dry_cleaning</i> &#x2014; material icon named "dry cleaning".
  static const IconData dry_cleaning = IconData(0xe20e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dry_cleaning</i> &#x2014; material icon named "dry cleaning" (sharp).
  static const IconData dry_cleaning_sharp = IconData(0xe909, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dry_cleaning</i> &#x2014; material icon named "dry cleaning" (round).
  static const IconData dry_cleaning_rounded = IconData(0xf6e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dry_cleaning</i> &#x2014; material icon named "dry cleaning" (outlined).
  static const IconData dry_cleaning_outlined = IconData(0xeffb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">duo</i> &#x2014; material icon named "duo".
  static const IconData duo = IconData(0xe20f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">duo</i> &#x2014; material icon named "duo" (sharp).
  static const IconData duo_sharp = IconData(0xe90b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">duo</i> &#x2014; material icon named "duo" (round).
  static const IconData duo_rounded = IconData(0xf6ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">duo</i> &#x2014; material icon named "duo" (outlined).
  static const IconData duo_outlined = IconData(0xeffd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dvr</i> &#x2014; material icon named "dvr".
  static const IconData dvr = IconData(0xe210, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">dvr</i> &#x2014; material icon named "dvr" (sharp).
  static const IconData dvr_sharp = IconData(0xe90c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">dvr</i> &#x2014; material icon named "dvr" (round).
  static const IconData dvr_rounded = IconData(0xf6eb, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">dvr</i> &#x2014; material icon named "dvr" (outlined).
  static const IconData dvr_outlined = IconData(0xeffe, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">dynamic_feed</i> &#x2014; material icon named "dynamic feed".
  static const IconData dynamic_feed = IconData(0xe211, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dynamic_feed</i> &#x2014; material icon named "dynamic feed" (sharp).
  static const IconData dynamic_feed_sharp = IconData(0xe90d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dynamic_feed</i> &#x2014; material icon named "dynamic feed" (round).
  static const IconData dynamic_feed_rounded = IconData(0xf6ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dynamic_feed</i> &#x2014; material icon named "dynamic feed" (outlined).
  static const IconData dynamic_feed_outlined = IconData(0xefff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dynamic_form</i> &#x2014; material icon named "dynamic form".
  static const IconData dynamic_form = IconData(0xe212, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dynamic_form</i> &#x2014; material icon named "dynamic form" (sharp).
  static const IconData dynamic_form_sharp = IconData(0xe90e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dynamic_form</i> &#x2014; material icon named "dynamic form" (round).
  static const IconData dynamic_form_rounded = IconData(0xf6ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dynamic_form</i> &#x2014; material icon named "dynamic form" (outlined).
  static const IconData dynamic_form_outlined = IconData(0xf000, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">e_mobiledata</i> &#x2014; material icon named "e mobiledata".
  static const IconData e_mobiledata = IconData(0xe213, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">e_mobiledata</i> &#x2014; material icon named "e mobiledata" (sharp).
  static const IconData e_mobiledata_sharp = IconData(0xe90f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">e_mobiledata</i> &#x2014; material icon named "e mobiledata" (round).
  static const IconData e_mobiledata_rounded = IconData(0xf6ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">e_mobiledata</i> &#x2014; material icon named "e mobiledata" (outlined).
  static const IconData e_mobiledata_outlined = IconData(0xf001, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">earbuds</i> &#x2014; material icon named "earbuds".
  static const IconData earbuds = IconData(0xe214, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">earbuds</i> &#x2014; material icon named "earbuds" (sharp).
  static const IconData earbuds_sharp = IconData(0xe911, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">earbuds</i> &#x2014; material icon named "earbuds" (round).
  static const IconData earbuds_rounded = IconData(0xf6f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">earbuds</i> &#x2014; material icon named "earbuds" (outlined).
  static const IconData earbuds_outlined = IconData(0xf003, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">earbuds_battery</i> &#x2014; material icon named "earbuds battery".
  static const IconData earbuds_battery = IconData(0xe215, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">earbuds_battery</i> &#x2014; material icon named "earbuds battery" (sharp).
  static const IconData earbuds_battery_sharp = IconData(0xe910, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">earbuds_battery</i> &#x2014; material icon named "earbuds battery" (round).
  static const IconData earbuds_battery_rounded = IconData(0xf6ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">earbuds_battery</i> &#x2014; material icon named "earbuds battery" (outlined).
  static const IconData earbuds_battery_outlined = IconData(0xf002, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">east</i> &#x2014; material icon named "east".
  static const IconData east = IconData(0xe216, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">east</i> &#x2014; material icon named "east" (sharp).
  static const IconData east_sharp = IconData(0xe912, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">east</i> &#x2014; material icon named "east" (round).
  static const IconData east_rounded = IconData(0xf6f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">east</i> &#x2014; material icon named "east" (outlined).
  static const IconData east_outlined = IconData(0xf004, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">eco</i> &#x2014; material icon named "eco".
  static const IconData eco = IconData(0xe217, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">eco</i> &#x2014; material icon named "eco" (sharp).
  static const IconData eco_sharp = IconData(0xe913, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">eco</i> &#x2014; material icon named "eco" (round).
  static const IconData eco_rounded = IconData(0xf6f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">eco</i> &#x2014; material icon named "eco" (outlined).
  static const IconData eco_outlined = IconData(0xf005, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edgesensor_high</i> &#x2014; material icon named "edgesensor high".
  static const IconData edgesensor_high = IconData(0xe218, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edgesensor_high</i> &#x2014; material icon named "edgesensor high" (sharp).
  static const IconData edgesensor_high_sharp = IconData(0xe914, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edgesensor_high</i> &#x2014; material icon named "edgesensor high" (round).
  static const IconData edgesensor_high_rounded = IconData(0xf6f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edgesensor_high</i> &#x2014; material icon named "edgesensor high" (outlined).
  static const IconData edgesensor_high_outlined = IconData(0xf006, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edgesensor_low</i> &#x2014; material icon named "edgesensor low".
  static const IconData edgesensor_low = IconData(0xe219, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edgesensor_low</i> &#x2014; material icon named "edgesensor low" (sharp).
  static const IconData edgesensor_low_sharp = IconData(0xe915, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edgesensor_low</i> &#x2014; material icon named "edgesensor low" (round).
  static const IconData edgesensor_low_rounded = IconData(0xf6f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edgesensor_low</i> &#x2014; material icon named "edgesensor low" (outlined).
  static const IconData edgesensor_low_outlined = IconData(0xf007, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edit</i> &#x2014; material icon named "edit".
  static const IconData edit = IconData(0xe21a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edit</i> &#x2014; material icon named "edit" (sharp).
  static const IconData edit_sharp = IconData(0xe91c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edit</i> &#x2014; material icon named "edit" (round).
  static const IconData edit_rounded = IconData(0xf6fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edit</i> &#x2014; material icon named "edit" (outlined).
  static const IconData edit_outlined = IconData(0xf00d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edit_attributes</i> &#x2014; material icon named "edit attributes".
  static const IconData edit_attributes = IconData(0xe21b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edit_attributes</i> &#x2014; material icon named "edit attributes" (sharp).
  static const IconData edit_attributes_sharp = IconData(0xe916, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edit_attributes</i> &#x2014; material icon named "edit attributes" (round).
  static const IconData edit_attributes_rounded = IconData(0xf6f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edit_attributes</i> &#x2014; material icon named "edit attributes" (outlined).
  static const IconData edit_attributes_outlined = IconData(0xf008, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edit_calendar</i> &#x2014; material icon named "edit calendar".
  static const IconData edit_calendar = IconData(0xf04f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edit_calendar</i> &#x2014; material icon named "edit calendar" (sharp).
  static const IconData edit_calendar_sharp = IconData(0xf0401, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edit_calendar</i> &#x2014; material icon named "edit calendar" (round).
  static const IconData edit_calendar_rounded = IconData(0xf030e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edit_calendar</i> &#x2014; material icon named "edit calendar" (outlined).
  static const IconData edit_calendar_outlined = IconData(0xf05ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edit_document</i> &#x2014; material icon named "edit document".
  static const IconData edit_document = IconData(0xf085d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edit_location</i> &#x2014; material icon named "edit location".
  static const IconData edit_location = IconData(0xe21c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edit_location</i> &#x2014; material icon named "edit location" (sharp).
  static const IconData edit_location_sharp = IconData(0xe918, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edit_location</i> &#x2014; material icon named "edit location" (round).
  static const IconData edit_location_rounded = IconData(0xf6f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edit_location</i> &#x2014; material icon named "edit location" (outlined).
  static const IconData edit_location_outlined = IconData(0xf00a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edit_location_alt</i> &#x2014; material icon named "edit location alt".
  static const IconData edit_location_alt = IconData(0xe21d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edit_location_alt</i> &#x2014; material icon named "edit location alt" (sharp).
  static const IconData edit_location_alt_sharp = IconData(0xe917, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edit_location_alt</i> &#x2014; material icon named "edit location alt" (round).
  static const IconData edit_location_alt_rounded = IconData(0xf6f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edit_location_alt</i> &#x2014; material icon named "edit location alt" (outlined).
  static const IconData edit_location_alt_outlined = IconData(0xf009, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edit_note</i> &#x2014; material icon named "edit note".
  static const IconData edit_note = IconData(0xf04f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edit_note</i> &#x2014; material icon named "edit note" (sharp).
  static const IconData edit_note_sharp = IconData(0xf0402, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edit_note</i> &#x2014; material icon named "edit note" (round).
  static const IconData edit_note_rounded = IconData(0xf030f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edit_note</i> &#x2014; material icon named "edit note" (outlined).
  static const IconData edit_note_outlined = IconData(0xf05f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edit_notifications</i> &#x2014; material icon named "edit notifications".
  static const IconData edit_notifications = IconData(0xe21e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edit_notifications</i> &#x2014; material icon named "edit notifications" (sharp).
  static const IconData edit_notifications_sharp = IconData(0xe919, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edit_notifications</i> &#x2014; material icon named "edit notifications" (round).
  static const IconData edit_notifications_rounded = IconData(0xf6f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edit_notifications</i> &#x2014; material icon named "edit notifications" (outlined).
  static const IconData edit_notifications_outlined = IconData(0xf00b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edit_off</i> &#x2014; material icon named "edit off".
  static const IconData edit_off = IconData(0xe21f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edit_off</i> &#x2014; material icon named "edit off" (sharp).
  static const IconData edit_off_sharp = IconData(0xe91a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edit_off</i> &#x2014; material icon named "edit off" (round).
  static const IconData edit_off_rounded = IconData(0xf6f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edit_off</i> &#x2014; material icon named "edit off" (outlined).
  static const IconData edit_off_outlined = IconData(0xf00c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edit_road</i> &#x2014; material icon named "edit road".
  static const IconData edit_road = IconData(0xe220, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edit_road</i> &#x2014; material icon named "edit road" (sharp).
  static const IconData edit_road_sharp = IconData(0xe91b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edit_road</i> &#x2014; material icon named "edit road" (round).
  static const IconData edit_road_rounded = IconData(0xf6fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edit_road</i> &#x2014; material icon named "edit road" (outlined).
  static const IconData edit_road_outlined = IconData(0xf00e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edit_square</i> &#x2014; material icon named "edit square".
  static const IconData edit_square = IconData(0xf085e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">egg</i> &#x2014; material icon named "egg".
  static const IconData egg = IconData(0xf04f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">egg</i> &#x2014; material icon named "egg" (sharp).
  static const IconData egg_sharp = IconData(0xf0404, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">egg</i> &#x2014; material icon named "egg" (round).
  static const IconData egg_rounded = IconData(0xf0311, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">egg</i> &#x2014; material icon named "egg" (outlined).
  static const IconData egg_outlined = IconData(0xf05f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">egg_alt</i> &#x2014; material icon named "egg alt".
  static const IconData egg_alt = IconData(0xf04f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">egg_alt</i> &#x2014; material icon named "egg alt" (sharp).
  static const IconData egg_alt_sharp = IconData(0xf0403, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">egg_alt</i> &#x2014; material icon named "egg alt" (round).
  static const IconData egg_alt_rounded = IconData(0xf0310, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">egg_alt</i> &#x2014; material icon named "egg alt" (outlined).
  static const IconData egg_alt_outlined = IconData(0xf05f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">eject</i> &#x2014; material icon named "eject".
  static const IconData eject = IconData(0xe221, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">eject</i> &#x2014; material icon named "eject" (sharp).
  static const IconData eject_sharp = IconData(0xe91d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">eject</i> &#x2014; material icon named "eject" (round).
  static const IconData eject_rounded = IconData(0xf6fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">eject</i> &#x2014; material icon named "eject" (outlined).
  static const IconData eject_outlined = IconData(0xf00f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">elderly</i> &#x2014; material icon named "elderly".
  static const IconData elderly = IconData(0xe222, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">elderly</i> &#x2014; material icon named "elderly" (sharp).
  static const IconData elderly_sharp = IconData(0xe91e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">elderly</i> &#x2014; material icon named "elderly" (round).
  static const IconData elderly_rounded = IconData(0xf6fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">elderly</i> &#x2014; material icon named "elderly" (outlined).
  static const IconData elderly_outlined = IconData(0xf010, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">elderly_woman</i> &#x2014; material icon named "elderly woman".
  static const IconData elderly_woman = IconData(0xf04f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">elderly_woman</i> &#x2014; material icon named "elderly woman" (sharp).
  static const IconData elderly_woman_sharp = IconData(0xf0405, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">elderly_woman</i> &#x2014; material icon named "elderly woman" (round).
  static const IconData elderly_woman_rounded = IconData(0xf0312, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">elderly_woman</i> &#x2014; material icon named "elderly woman" (outlined).
  static const IconData elderly_woman_outlined = IconData(0xf05f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">electric_bike</i> &#x2014; material icon named "electric bike".
  static const IconData electric_bike = IconData(0xe223, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">electric_bike</i> &#x2014; material icon named "electric bike" (sharp).
  static const IconData electric_bike_sharp = IconData(0xe91f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">electric_bike</i> &#x2014; material icon named "electric bike" (round).
  static const IconData electric_bike_rounded = IconData(0xf6fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">electric_bike</i> &#x2014; material icon named "electric bike" (outlined).
  static const IconData electric_bike_outlined = IconData(0xf011, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">electric_bolt</i> &#x2014; material icon named "electric bolt".
  static const IconData electric_bolt = IconData(0xf079c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">electric_bolt</i> &#x2014; material icon named "electric bolt" (sharp).
  static const IconData electric_bolt_sharp = IconData(0xf0744, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">electric_bolt</i> &#x2014; material icon named "electric bolt" (round).
  static const IconData electric_bolt_rounded = IconData(0xf07f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">electric_bolt</i> &#x2014; material icon named "electric bolt" (outlined).
  static const IconData electric_bolt_outlined = IconData(0xf06ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">electric_car</i> &#x2014; material icon named "electric car".
  static const IconData electric_car = IconData(0xe224, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">electric_car</i> &#x2014; material icon named "electric car" (sharp).
  static const IconData electric_car_sharp = IconData(0xe920, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">electric_car</i> &#x2014; material icon named "electric car" (round).
  static const IconData electric_car_rounded = IconData(0xf6ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">electric_car</i> &#x2014; material icon named "electric car" (outlined).
  static const IconData electric_car_outlined = IconData(0xf012, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">electric_meter</i> &#x2014; material icon named "electric meter".
  static const IconData electric_meter = IconData(0xf079d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">electric_meter</i> &#x2014; material icon named "electric meter" (sharp).
  static const IconData electric_meter_sharp = IconData(0xf0745, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">electric_meter</i> &#x2014; material icon named "electric meter" (round).
  static const IconData electric_meter_rounded = IconData(0xf07f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">electric_meter</i> &#x2014; material icon named "electric meter" (outlined).
  static const IconData electric_meter_outlined = IconData(0xf06ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">electric_moped</i> &#x2014; material icon named "electric moped".
  static const IconData electric_moped = IconData(0xe225, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">electric_moped</i> &#x2014; material icon named "electric moped" (sharp).
  static const IconData electric_moped_sharp = IconData(0xe921, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">electric_moped</i> &#x2014; material icon named "electric moped" (round).
  static const IconData electric_moped_rounded = IconData(0xf700, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">electric_moped</i> &#x2014; material icon named "electric moped" (outlined).
  static const IconData electric_moped_outlined = IconData(0xf013, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">electric_rickshaw</i> &#x2014; material icon named "electric rickshaw".
  static const IconData electric_rickshaw = IconData(0xe226, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">electric_rickshaw</i> &#x2014; material icon named "electric rickshaw" (sharp).
  static const IconData electric_rickshaw_sharp = IconData(0xe922, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">electric_rickshaw</i> &#x2014; material icon named "electric rickshaw" (round).
  static const IconData electric_rickshaw_rounded = IconData(0xf701, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">electric_rickshaw</i> &#x2014; material icon named "electric rickshaw" (outlined).
  static const IconData electric_rickshaw_outlined = IconData(0xf014, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">electric_scooter</i> &#x2014; material icon named "electric scooter".
  static const IconData electric_scooter = IconData(0xe227, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">electric_scooter</i> &#x2014; material icon named "electric scooter" (sharp).
  static const IconData electric_scooter_sharp = IconData(0xe923, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">electric_scooter</i> &#x2014; material icon named "electric scooter" (round).
  static const IconData electric_scooter_rounded = IconData(0xf702, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">electric_scooter</i> &#x2014; material icon named "electric scooter" (outlined).
  static const IconData electric_scooter_outlined = IconData(0xf015, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">electrical_services</i> &#x2014; material icon named "electrical services".
  static const IconData electrical_services = IconData(0xe228, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">electrical_services</i> &#x2014; material icon named "electrical services" (sharp).
  static const IconData electrical_services_sharp = IconData(0xe924, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">electrical_services</i> &#x2014; material icon named "electrical services" (round).
  static const IconData electrical_services_rounded = IconData(0xf703, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">electrical_services</i> &#x2014; material icon named "electrical services" (outlined).
  static const IconData electrical_services_outlined = IconData(0xf016, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">elevator</i> &#x2014; material icon named "elevator".
  static const IconData elevator = IconData(0xe229, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">elevator</i> &#x2014; material icon named "elevator" (sharp).
  static const IconData elevator_sharp = IconData(0xe925, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">elevator</i> &#x2014; material icon named "elevator" (round).
  static const IconData elevator_rounded = IconData(0xf704, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">elevator</i> &#x2014; material icon named "elevator" (outlined).
  static const IconData elevator_outlined = IconData(0xf017, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">email</i> &#x2014; material icon named "email".
  static const IconData email = IconData(0xe22a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">email</i> &#x2014; material icon named "email" (sharp).
  static const IconData email_sharp = IconData(0xe926, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">email</i> &#x2014; material icon named "email" (round).
  static const IconData email_rounded = IconData(0xf705, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">email</i> &#x2014; material icon named "email" (outlined).
  static const IconData email_outlined = IconData(0xf018, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emergency</i> &#x2014; material icon named "emergency".
  static const IconData emergency = IconData(0xf04fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emergency</i> &#x2014; material icon named "emergency" (sharp).
  static const IconData emergency_sharp = IconData(0xf0406, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emergency</i> &#x2014; material icon named "emergency" (round).
  static const IconData emergency_rounded = IconData(0xf0313, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emergency</i> &#x2014; material icon named "emergency" (outlined).
  static const IconData emergency_outlined = IconData(0xf05f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emergency_recording</i> &#x2014; material icon named "emergency recording".
  static const IconData emergency_recording = IconData(0xf079e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emergency_recording</i> &#x2014; material icon named "emergency recording" (sharp).
  static const IconData emergency_recording_sharp = IconData(0xf0746, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emergency_recording</i> &#x2014; material icon named "emergency recording" (round).
  static const IconData emergency_recording_rounded = IconData(0xf07f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emergency_recording</i> &#x2014; material icon named "emergency recording" (outlined).
  static const IconData emergency_recording_outlined = IconData(0xf06ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emergency_share</i> &#x2014; material icon named "emergency share".
  static const IconData emergency_share = IconData(0xf079f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emergency_share</i> &#x2014; material icon named "emergency share" (sharp).
  static const IconData emergency_share_sharp = IconData(0xf0747, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emergency_share</i> &#x2014; material icon named "emergency share" (round).
  static const IconData emergency_share_rounded = IconData(0xf07f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emergency_share</i> &#x2014; material icon named "emergency share" (outlined).
  static const IconData emergency_share_outlined = IconData(0xf06ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emoji_emotions</i> &#x2014; material icon named "emoji emotions".
  static const IconData emoji_emotions = IconData(0xe22b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emoji_emotions</i> &#x2014; material icon named "emoji emotions" (sharp).
  static const IconData emoji_emotions_sharp = IconData(0xe927, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emoji_emotions</i> &#x2014; material icon named "emoji emotions" (round).
  static const IconData emoji_emotions_rounded = IconData(0xf706, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emoji_emotions</i> &#x2014; material icon named "emoji emotions" (outlined).
  static const IconData emoji_emotions_outlined = IconData(0xf019, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emoji_events</i> &#x2014; material icon named "emoji events".
  static const IconData emoji_events = IconData(0xe22c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emoji_events</i> &#x2014; material icon named "emoji events" (sharp).
  static const IconData emoji_events_sharp = IconData(0xe928, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emoji_events</i> &#x2014; material icon named "emoji events" (round).
  static const IconData emoji_events_rounded = IconData(0xf707, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emoji_events</i> &#x2014; material icon named "emoji events" (outlined).
  static const IconData emoji_events_outlined = IconData(0xf01a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emoji_flags</i> &#x2014; material icon named "emoji flags".
  static const IconData emoji_flags = IconData(0xe22d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emoji_flags</i> &#x2014; material icon named "emoji flags" (sharp).
  static const IconData emoji_flags_sharp = IconData(0xe929, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emoji_flags</i> &#x2014; material icon named "emoji flags" (round).
  static const IconData emoji_flags_rounded = IconData(0xf708, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emoji_flags</i> &#x2014; material icon named "emoji flags" (outlined).
  static const IconData emoji_flags_outlined = IconData(0xf01b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emoji_food_beverage</i> &#x2014; material icon named "emoji food beverage".
  static const IconData emoji_food_beverage = IconData(0xe22e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emoji_food_beverage</i> &#x2014; material icon named "emoji food beverage" (sharp).
  static const IconData emoji_food_beverage_sharp = IconData(0xe92a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emoji_food_beverage</i> &#x2014; material icon named "emoji food beverage" (round).
  static const IconData emoji_food_beverage_rounded = IconData(0xf709, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emoji_food_beverage</i> &#x2014; material icon named "emoji food beverage" (outlined).
  static const IconData emoji_food_beverage_outlined = IconData(0xf01c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emoji_nature</i> &#x2014; material icon named "emoji nature".
  static const IconData emoji_nature = IconData(0xe22f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emoji_nature</i> &#x2014; material icon named "emoji nature" (sharp).
  static const IconData emoji_nature_sharp = IconData(0xe92b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emoji_nature</i> &#x2014; material icon named "emoji nature" (round).
  static const IconData emoji_nature_rounded = IconData(0xf70a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emoji_nature</i> &#x2014; material icon named "emoji nature" (outlined).
  static const IconData emoji_nature_outlined = IconData(0xf01d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emoji_objects</i> &#x2014; material icon named "emoji objects".
  static const IconData emoji_objects = IconData(0xe230, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emoji_objects</i> &#x2014; material icon named "emoji objects" (sharp).
  static const IconData emoji_objects_sharp = IconData(0xe92c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emoji_objects</i> &#x2014; material icon named "emoji objects" (round).
  static const IconData emoji_objects_rounded = IconData(0xf70b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emoji_objects</i> &#x2014; material icon named "emoji objects" (outlined).
  static const IconData emoji_objects_outlined = IconData(0xf01e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emoji_people</i> &#x2014; material icon named "emoji people".
  static const IconData emoji_people = IconData(0xe231, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emoji_people</i> &#x2014; material icon named "emoji people" (sharp).
  static const IconData emoji_people_sharp = IconData(0xe92d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emoji_people</i> &#x2014; material icon named "emoji people" (round).
  static const IconData emoji_people_rounded = IconData(0xf70c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emoji_people</i> &#x2014; material icon named "emoji people" (outlined).
  static const IconData emoji_people_outlined = IconData(0xf01f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emoji_symbols</i> &#x2014; material icon named "emoji symbols".
  static const IconData emoji_symbols = IconData(0xe232, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emoji_symbols</i> &#x2014; material icon named "emoji symbols" (sharp).
  static const IconData emoji_symbols_sharp = IconData(0xe92e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emoji_symbols</i> &#x2014; material icon named "emoji symbols" (round).
  static const IconData emoji_symbols_rounded = IconData(0xf70d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emoji_symbols</i> &#x2014; material icon named "emoji symbols" (outlined).
  static const IconData emoji_symbols_outlined = IconData(0xf020, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emoji_transportation</i> &#x2014; material icon named "emoji transportation".
  static const IconData emoji_transportation = IconData(0xe233, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emoji_transportation</i> &#x2014; material icon named "emoji transportation" (sharp).
  static const IconData emoji_transportation_sharp = IconData(0xe92f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emoji_transportation</i> &#x2014; material icon named "emoji transportation" (round).
  static const IconData emoji_transportation_rounded = IconData(0xf70e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emoji_transportation</i> &#x2014; material icon named "emoji transportation" (outlined).
  static const IconData emoji_transportation_outlined = IconData(0xf021, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">energy_savings_leaf</i> &#x2014; material icon named "energy savings leaf".
  static const IconData energy_savings_leaf = IconData(0xf07a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">energy_savings_leaf</i> &#x2014; material icon named "energy savings leaf" (sharp).
  static const IconData energy_savings_leaf_sharp = IconData(0xf0748, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">energy_savings_leaf</i> &#x2014; material icon named "energy savings leaf" (round).
  static const IconData energy_savings_leaf_rounded = IconData(0xf07f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">energy_savings_leaf</i> &#x2014; material icon named "energy savings leaf" (outlined).
  static const IconData energy_savings_leaf_outlined = IconData(0xf06f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">engineering</i> &#x2014; material icon named "engineering".
  static const IconData engineering = IconData(0xe234, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">engineering</i> &#x2014; material icon named "engineering" (sharp).
  static const IconData engineering_sharp = IconData(0xe930, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">engineering</i> &#x2014; material icon named "engineering" (round).
  static const IconData engineering_rounded = IconData(0xf70f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">engineering</i> &#x2014; material icon named "engineering" (outlined).
  static const IconData engineering_outlined = IconData(0xf022, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">enhance_photo_translate</i> &#x2014; material icon named "enhance photo translate".
  static const IconData enhance_photo_translate = IconData(0xe131, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">enhance_photo_translate</i> &#x2014; material icon named "enhance photo translate" (sharp).
  static const IconData enhance_photo_translate_sharp = IconData(0xe82d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">enhance_photo_translate</i> &#x2014; material icon named "enhance photo translate" (round).
  static const IconData enhance_photo_translate_rounded = IconData(0xf60c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">enhance_photo_translate</i> &#x2014; material icon named "enhance photo translate" (outlined).
  static const IconData enhance_photo_translate_outlined = IconData(0xef1f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">enhanced_encryption</i> &#x2014; material icon named "enhanced encryption".
  static const IconData enhanced_encryption = IconData(0xe235, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">enhanced_encryption</i> &#x2014; material icon named "enhanced encryption" (sharp).
  static const IconData enhanced_encryption_sharp = IconData(0xe931, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">enhanced_encryption</i> &#x2014; material icon named "enhanced encryption" (round).
  static const IconData enhanced_encryption_rounded = IconData(0xf710, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">enhanced_encryption</i> &#x2014; material icon named "enhanced encryption" (outlined).
  static const IconData enhanced_encryption_outlined = IconData(0xf023, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">equalizer</i> &#x2014; material icon named "equalizer".
  static const IconData equalizer = IconData(0xe236, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">equalizer</i> &#x2014; material icon named "equalizer" (sharp).
  static const IconData equalizer_sharp = IconData(0xe932, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">equalizer</i> &#x2014; material icon named "equalizer" (round).
  static const IconData equalizer_rounded = IconData(0xf711, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">equalizer</i> &#x2014; material icon named "equalizer" (outlined).
  static const IconData equalizer_outlined = IconData(0xf024, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">error</i> &#x2014; material icon named "error".
  static const IconData error = IconData(0xe237, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">error</i> &#x2014; material icon named "error" (sharp).
  static const IconData error_sharp = IconData(0xe934, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">error</i> &#x2014; material icon named "error" (round).
  static const IconData error_rounded = IconData(0xf713, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">error</i> &#x2014; material icon named "error" (outlined).
  static const IconData error_outlined = IconData(0xf026, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">error_outline</i> &#x2014; material icon named "error outline".
  static const IconData error_outline = IconData(0xe238, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">error_outline</i> &#x2014; material icon named "error outline" (sharp).
  static const IconData error_outline_sharp = IconData(0xe933, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">error_outline</i> &#x2014; material icon named "error outline" (round).
  static const IconData error_outline_rounded = IconData(0xf712, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">error_outline</i> &#x2014; material icon named "error outline" (outlined).
  static const IconData error_outline_outlined = IconData(0xf025, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">escalator</i> &#x2014; material icon named "escalator".
  static const IconData escalator = IconData(0xe239, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">escalator</i> &#x2014; material icon named "escalator" (sharp).
  static const IconData escalator_sharp = IconData(0xe935, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">escalator</i> &#x2014; material icon named "escalator" (round).
  static const IconData escalator_rounded = IconData(0xf714, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">escalator</i> &#x2014; material icon named "escalator" (outlined).
  static const IconData escalator_outlined = IconData(0xf027, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">escalator_warning</i> &#x2014; material icon named "escalator warning".
  static const IconData escalator_warning = IconData(0xe23a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">escalator_warning</i> &#x2014; material icon named "escalator warning" (sharp).
  static const IconData escalator_warning_sharp = IconData(0xe936, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">escalator_warning</i> &#x2014; material icon named "escalator warning" (round).
  static const IconData escalator_warning_rounded = IconData(0xf715, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">escalator_warning</i> &#x2014; material icon named "escalator warning" (outlined).
  static const IconData escalator_warning_outlined = IconData(0xf028, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">euro</i> &#x2014; material icon named "euro".
  static const IconData euro = IconData(0xe23b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">euro</i> &#x2014; material icon named "euro" (sharp).
  static const IconData euro_sharp = IconData(0xe937, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">euro</i> &#x2014; material icon named "euro" (round).
  static const IconData euro_rounded = IconData(0xf716, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">euro</i> &#x2014; material icon named "euro" (outlined).
  static const IconData euro_outlined = IconData(0xf029, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">euro_symbol</i> &#x2014; material icon named "euro symbol".
  static const IconData euro_symbol = IconData(0xe23c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">euro_symbol</i> &#x2014; material icon named "euro symbol" (sharp).
  static const IconData euro_symbol_sharp = IconData(0xe938, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">euro_symbol</i> &#x2014; material icon named "euro symbol" (round).
  static const IconData euro_symbol_rounded = IconData(0xf717, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">euro_symbol</i> &#x2014; material icon named "euro symbol" (outlined).
  static const IconData euro_symbol_outlined = IconData(0xf02a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ev_station</i> &#x2014; material icon named "ev station".
  static const IconData ev_station = IconData(0xe23d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ev_station</i> &#x2014; material icon named "ev station" (sharp).
  static const IconData ev_station_sharp = IconData(0xe939, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ev_station</i> &#x2014; material icon named "ev station" (round).
  static const IconData ev_station_rounded = IconData(0xf718, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ev_station</i> &#x2014; material icon named "ev station" (outlined).
  static const IconData ev_station_outlined = IconData(0xf02b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">event</i> &#x2014; material icon named "event".
  static const IconData event = IconData(0xe23e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">event</i> &#x2014; material icon named "event" (sharp).
  static const IconData event_sharp = IconData(0xe93e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">event</i> &#x2014; material icon named "event" (round).
  static const IconData event_rounded = IconData(0xf71c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">event</i> &#x2014; material icon named "event" (outlined).
  static const IconData event_outlined = IconData(0xf02f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">event_available</i> &#x2014; material icon named "event available".
  static const IconData event_available = IconData(0xe23f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">event_available</i> &#x2014; material icon named "event available" (sharp).
  static const IconData event_available_sharp = IconData(0xe93a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">event_available</i> &#x2014; material icon named "event available" (round).
  static const IconData event_available_rounded = IconData(0xf719, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">event_available</i> &#x2014; material icon named "event available" (outlined).
  static const IconData event_available_outlined = IconData(0xf02c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">event_busy</i> &#x2014; material icon named "event busy".
  static const IconData event_busy = IconData(0xe240, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">event_busy</i> &#x2014; material icon named "event busy" (sharp).
  static const IconData event_busy_sharp = IconData(0xe93b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">event_busy</i> &#x2014; material icon named "event busy" (round).
  static const IconData event_busy_rounded = IconData(0xf71a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">event_busy</i> &#x2014; material icon named "event busy" (outlined).
  static const IconData event_busy_outlined = IconData(0xf02d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">event_note</i> &#x2014; material icon named "event note".
  static const IconData event_note = IconData(0xe241, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">event_note</i> &#x2014; material icon named "event note" (sharp).
  static const IconData event_note_sharp = IconData(0xe93c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">event_note</i> &#x2014; material icon named "event note" (round).
  static const IconData event_note_rounded = IconData(0xf71b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">event_note</i> &#x2014; material icon named "event note" (outlined).
  static const IconData event_note_outlined = IconData(0xf02e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">event_repeat</i> &#x2014; material icon named "event repeat".
  static const IconData event_repeat = IconData(0xf04fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">event_repeat</i> &#x2014; material icon named "event repeat" (sharp).
  static const IconData event_repeat_sharp = IconData(0xf0407, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">event_repeat</i> &#x2014; material icon named "event repeat" (round).
  static const IconData event_repeat_rounded = IconData(0xf0314, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">event_repeat</i> &#x2014; material icon named "event repeat" (outlined).
  static const IconData event_repeat_outlined = IconData(0xf05f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">event_seat</i> &#x2014; material icon named "event seat".
  static const IconData event_seat = IconData(0xe242, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">event_seat</i> &#x2014; material icon named "event seat" (sharp).
  static const IconData event_seat_sharp = IconData(0xe93d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">event_seat</i> &#x2014; material icon named "event seat" (round).
  static const IconData event_seat_rounded = IconData(0xf71d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">event_seat</i> &#x2014; material icon named "event seat" (outlined).
  static const IconData event_seat_outlined = IconData(0xf030, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">exit_to_app</i> &#x2014; material icon named "exit to app".
  static const IconData exit_to_app = IconData(0xe243, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">exit_to_app</i> &#x2014; material icon named "exit to app" (sharp).
  static const IconData exit_to_app_sharp = IconData(0xe93f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">exit_to_app</i> &#x2014; material icon named "exit to app" (round).
  static const IconData exit_to_app_rounded = IconData(0xf71e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">exit_to_app</i> &#x2014; material icon named "exit to app" (outlined).
  static const IconData exit_to_app_outlined = IconData(0xf031, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">expand</i> &#x2014; material icon named "expand".
  static const IconData expand = IconData(0xe244, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">expand</i> &#x2014; material icon named "expand" (sharp).
  static const IconData expand_sharp = IconData(0xe942, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">expand</i> &#x2014; material icon named "expand" (round).
  static const IconData expand_rounded = IconData(0xf721, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">expand</i> &#x2014; material icon named "expand" (outlined).
  static const IconData expand_outlined = IconData(0xf034, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">expand_circle_down</i> &#x2014; material icon named "expand circle down".
  static const IconData expand_circle_down = IconData(0xf04fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">expand_circle_down</i> &#x2014; material icon named "expand circle down" (sharp).
  static const IconData expand_circle_down_sharp = IconData(0xf0408, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">expand_circle_down</i> &#x2014; material icon named "expand circle down" (round).
  static const IconData expand_circle_down_rounded = IconData(0xf0315, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">expand_circle_down</i> &#x2014; material icon named "expand circle down" (outlined).
  static const IconData expand_circle_down_outlined = IconData(0xf05f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">expand_less</i> &#x2014; material icon named "expand less".
  static const IconData expand_less = IconData(0xe245, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">expand_less</i> &#x2014; material icon named "expand less" (sharp).
  static const IconData expand_less_sharp = IconData(0xe940, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">expand_less</i> &#x2014; material icon named "expand less" (round).
  static const IconData expand_less_rounded = IconData(0xf71f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">expand_less</i> &#x2014; material icon named "expand less" (outlined).
  static const IconData expand_less_outlined = IconData(0xf032, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">expand_more</i> &#x2014; material icon named "expand more".
  static const IconData expand_more = IconData(0xe246, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">expand_more</i> &#x2014; material icon named "expand more" (sharp).
  static const IconData expand_more_sharp = IconData(0xe941, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">expand_more</i> &#x2014; material icon named "expand more" (round).
  static const IconData expand_more_rounded = IconData(0xf720, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">expand_more</i> &#x2014; material icon named "expand more" (outlined).
  static const IconData expand_more_outlined = IconData(0xf033, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">explicit</i> &#x2014; material icon named "explicit".
  static const IconData explicit = IconData(0xe247, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">explicit</i> &#x2014; material icon named "explicit" (sharp).
  static const IconData explicit_sharp = IconData(0xe943, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">explicit</i> &#x2014; material icon named "explicit" (round).
  static const IconData explicit_rounded = IconData(0xf722, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">explicit</i> &#x2014; material icon named "explicit" (outlined).
  static const IconData explicit_outlined = IconData(0xf035, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">explore</i> &#x2014; material icon named "explore".
  static const IconData explore = IconData(0xe248, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">explore</i> &#x2014; material icon named "explore" (sharp).
  static const IconData explore_sharp = IconData(0xe945, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">explore</i> &#x2014; material icon named "explore" (round).
  static const IconData explore_rounded = IconData(0xf724, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">explore</i> &#x2014; material icon named "explore" (outlined).
  static const IconData explore_outlined = IconData(0xf037, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">explore_off</i> &#x2014; material icon named "explore off".
  static const IconData explore_off = IconData(0xe249, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">explore_off</i> &#x2014; material icon named "explore off" (sharp).
  static const IconData explore_off_sharp = IconData(0xe944, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">explore_off</i> &#x2014; material icon named "explore off" (round).
  static const IconData explore_off_rounded = IconData(0xf723, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">explore_off</i> &#x2014; material icon named "explore off" (outlined).
  static const IconData explore_off_outlined = IconData(0xf036, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">exposure</i> &#x2014; material icon named "exposure".
  static const IconData exposure = IconData(0xe24a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">exposure</i> &#x2014; material icon named "exposure" (sharp).
  static const IconData exposure_sharp = IconData(0xe94a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">exposure</i> &#x2014; material icon named "exposure" (round).
  static const IconData exposure_rounded = IconData(0xf729, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">exposure</i> &#x2014; material icon named "exposure" (outlined).
  static const IconData exposure_outlined = IconData(0xf03a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">exposure_minus_1</i> &#x2014; material icon named "exposure minus 1".
  static const IconData exposure_minus_1 = IconData(0xe24b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">exposure_minus_1</i> &#x2014; material icon named "exposure minus 1" (sharp).
  static const IconData exposure_minus_1_sharp = IconData(0xe946, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">exposure_minus_1</i> &#x2014; material icon named "exposure minus 1" (round).
  static const IconData exposure_minus_1_rounded = IconData(0xf725, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">exposure_minus_1</i> &#x2014; material icon named "exposure minus 1" (outlined).
  static const IconData exposure_minus_1_outlined = IconData(0xf038, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">exposure_minus_2</i> &#x2014; material icon named "exposure minus 2".
  static const IconData exposure_minus_2 = IconData(0xe24c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">exposure_minus_2</i> &#x2014; material icon named "exposure minus 2" (sharp).
  static const IconData exposure_minus_2_sharp = IconData(0xe947, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">exposure_minus_2</i> &#x2014; material icon named "exposure minus 2" (round).
  static const IconData exposure_minus_2_rounded = IconData(0xf726, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">exposure_minus_2</i> &#x2014; material icon named "exposure minus 2" (outlined).
  static const IconData exposure_minus_2_outlined = IconData(0xf039, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">exposure_neg_1</i> &#x2014; material icon named "exposure neg 1".
  static const IconData exposure_neg_1 = IconData(0xe24b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">exposure_neg_1</i> &#x2014; material icon named "exposure neg 1" (sharp).
  static const IconData exposure_neg_1_sharp = IconData(0xe946, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">exposure_neg_1</i> &#x2014; material icon named "exposure neg 1" (round).
  static const IconData exposure_neg_1_rounded = IconData(0xf725, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">exposure_neg_1</i> &#x2014; material icon named "exposure neg 1" (outlined).
  static const IconData exposure_neg_1_outlined = IconData(0xf038, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">exposure_neg_2</i> &#x2014; material icon named "exposure neg 2".
  static const IconData exposure_neg_2 = IconData(0xe24c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">exposure_neg_2</i> &#x2014; material icon named "exposure neg 2" (sharp).
  static const IconData exposure_neg_2_sharp = IconData(0xe947, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">exposure_neg_2</i> &#x2014; material icon named "exposure neg 2" (round).
  static const IconData exposure_neg_2_rounded = IconData(0xf726, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">exposure_neg_2</i> &#x2014; material icon named "exposure neg 2" (outlined).
  static const IconData exposure_neg_2_outlined = IconData(0xf039, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">exposure_plus_1</i> &#x2014; material icon named "exposure plus 1".
  static const IconData exposure_plus_1 = IconData(0xe24d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">exposure_plus_1</i> &#x2014; material icon named "exposure plus 1" (sharp).
  static const IconData exposure_plus_1_sharp = IconData(0xe948, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">exposure_plus_1</i> &#x2014; material icon named "exposure plus 1" (round).
  static const IconData exposure_plus_1_rounded = IconData(0xf727, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">exposure_plus_1</i> &#x2014; material icon named "exposure plus 1" (outlined).
  static const IconData exposure_plus_1_outlined = IconData(0xf03b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">exposure_plus_2</i> &#x2014; material icon named "exposure plus 2".
  static const IconData exposure_plus_2 = IconData(0xe24e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">exposure_plus_2</i> &#x2014; material icon named "exposure plus 2" (sharp).
  static const IconData exposure_plus_2_sharp = IconData(0xe949, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">exposure_plus_2</i> &#x2014; material icon named "exposure plus 2" (round).
  static const IconData exposure_plus_2_rounded = IconData(0xf728, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">exposure_plus_2</i> &#x2014; material icon named "exposure plus 2" (outlined).
  static const IconData exposure_plus_2_outlined = IconData(0xf03c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">exposure_zero</i> &#x2014; material icon named "exposure zero".
  static const IconData exposure_zero = IconData(0xe24f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">exposure_zero</i> &#x2014; material icon named "exposure zero" (sharp).
  static const IconData exposure_zero_sharp = IconData(0xe94b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">exposure_zero</i> &#x2014; material icon named "exposure zero" (round).
  static const IconData exposure_zero_rounded = IconData(0xf72a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">exposure_zero</i> &#x2014; material icon named "exposure zero" (outlined).
  static const IconData exposure_zero_outlined = IconData(0xf03d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">extension</i> &#x2014; material icon named "extension".
  static const IconData extension = IconData(0xe250, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">extension</i> &#x2014; material icon named "extension" (sharp).
  static const IconData extension_sharp = IconData(0xe94d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">extension</i> &#x2014; material icon named "extension" (round).
  static const IconData extension_rounded = IconData(0xf72c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">extension</i> &#x2014; material icon named "extension" (outlined).
  static const IconData extension_outlined = IconData(0xf03f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">extension_off</i> &#x2014; material icon named "extension off".
  static const IconData extension_off = IconData(0xe251, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">extension_off</i> &#x2014; material icon named "extension off" (sharp).
  static const IconData extension_off_sharp = IconData(0xe94c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">extension_off</i> &#x2014; material icon named "extension off" (round).
  static const IconData extension_off_rounded = IconData(0xf72b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">extension_off</i> &#x2014; material icon named "extension off" (outlined).
  static const IconData extension_off_outlined = IconData(0xf03e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">face</i> &#x2014; material icon named "face".
  static const IconData face = IconData(0xe252, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">face</i> &#x2014; material icon named "face" (sharp).
  static const IconData face_sharp = IconData(0xe950, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">face</i> &#x2014; material icon named "face" (round).
  static const IconData face_rounded = IconData(0xf72f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">face</i> &#x2014; material icon named "face" (outlined).
  static const IconData face_outlined = IconData(0xf040, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">face_2</i> &#x2014; material icon named "face 2".
  static const IconData face_2 = IconData(0xf085f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">face_2</i> &#x2014; material icon named "face 2" (sharp).
  static const IconData face_2_sharp = IconData(0xf083b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">face_2</i> &#x2014; material icon named "face 2" (round).
  static const IconData face_2_rounded = IconData(0xf0884, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">face_2</i> &#x2014; material icon named "face 2" (outlined).
  static const IconData face_2_outlined = IconData(0xf08a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">face_3</i> &#x2014; material icon named "face 3".
  static const IconData face_3 = IconData(0xf0860, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">face_3</i> &#x2014; material icon named "face 3" (sharp).
  static const IconData face_3_sharp = IconData(0xf083c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">face_3</i> &#x2014; material icon named "face 3" (round).
  static const IconData face_3_rounded = IconData(0xf0885, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">face_3</i> &#x2014; material icon named "face 3" (outlined).
  static const IconData face_3_outlined = IconData(0xf08a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">face_4</i> &#x2014; material icon named "face 4".
  static const IconData face_4 = IconData(0xf0861, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">face_4</i> &#x2014; material icon named "face 4" (sharp).
  static const IconData face_4_sharp = IconData(0xf083d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">face_4</i> &#x2014; material icon named "face 4" (round).
  static const IconData face_4_rounded = IconData(0xf0886, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">face_4</i> &#x2014; material icon named "face 4" (outlined).
  static const IconData face_4_outlined = IconData(0xf08a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">face_5</i> &#x2014; material icon named "face 5".
  static const IconData face_5 = IconData(0xf0862, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">face_5</i> &#x2014; material icon named "face 5" (sharp).
  static const IconData face_5_sharp = IconData(0xf083e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">face_5</i> &#x2014; material icon named "face 5" (round).
  static const IconData face_5_rounded = IconData(0xf0887, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">face_5</i> &#x2014; material icon named "face 5" (outlined).
  static const IconData face_5_outlined = IconData(0xf08a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">face_6</i> &#x2014; material icon named "face 6".
  static const IconData face_6 = IconData(0xf0863, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">face_6</i> &#x2014; material icon named "face 6" (sharp).
  static const IconData face_6_sharp = IconData(0xf083f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">face_6</i> &#x2014; material icon named "face 6" (round).
  static const IconData face_6_rounded = IconData(0xf0888, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">face_6</i> &#x2014; material icon named "face 6" (outlined).
  static const IconData face_6_outlined = IconData(0xf08a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">face_retouching_natural</i> &#x2014; material icon named "face retouching natural".
  static const IconData face_retouching_natural = IconData(0xe253, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">face_retouching_natural</i> &#x2014; material icon named "face retouching natural" (sharp).
  static const IconData face_retouching_natural_sharp = IconData(0xe94e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">face_retouching_natural</i> &#x2014; material icon named "face retouching natural" (round).
  static const IconData face_retouching_natural_rounded = IconData(0xf72d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">face_retouching_natural</i> &#x2014; material icon named "face retouching natural" (outlined).
  static const IconData face_retouching_natural_outlined = IconData(0xf041, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">face_retouching_off</i> &#x2014; material icon named "face retouching off".
  static const IconData face_retouching_off = IconData(0xe254, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">face_retouching_off</i> &#x2014; material icon named "face retouching off" (sharp).
  static const IconData face_retouching_off_sharp = IconData(0xe94f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">face_retouching_off</i> &#x2014; material icon named "face retouching off" (round).
  static const IconData face_retouching_off_rounded = IconData(0xf72e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">face_retouching_off</i> &#x2014; material icon named "face retouching off" (outlined).
  static const IconData face_retouching_off_outlined = IconData(0xf042, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">face_unlock</i> &#x2014; material icon named "face unlock" (sharp).
  static const IconData face_unlock_sharp = IconData(0xe951, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">face_unlock</i> &#x2014; material icon named "face unlock" (round).
  static const IconData face_unlock_rounded = IconData(0xf730, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">face_unlock</i> &#x2014; material icon named "face unlock" (outlined).
  static const IconData face_unlock_outlined = IconData(0xf043, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">facebook</i> &#x2014; material icon named "facebook".
  static const IconData facebook = IconData(0xe255, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">facebook</i> &#x2014; material icon named "facebook" (sharp).
  static const IconData facebook_sharp = IconData(0xe952, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">facebook</i> &#x2014; material icon named "facebook" (round).
  static const IconData facebook_rounded = IconData(0xf731, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">facebook</i> &#x2014; material icon named "facebook" (outlined).
  static const IconData facebook_outlined = IconData(0xf044, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fact_check</i> &#x2014; material icon named "fact check".
  static const IconData fact_check = IconData(0xe256, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fact_check</i> &#x2014; material icon named "fact check" (sharp).
  static const IconData fact_check_sharp = IconData(0xe953, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fact_check</i> &#x2014; material icon named "fact check" (round).
  static const IconData fact_check_rounded = IconData(0xf732, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fact_check</i> &#x2014; material icon named "fact check" (outlined).
  static const IconData fact_check_outlined = IconData(0xf045, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">factory</i> &#x2014; material icon named "factory".
  static const IconData factory = IconData(0xf04fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">factory</i> &#x2014; material icon named "factory" (sharp).
  static const IconData factory_sharp = IconData(0xf0409, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">factory</i> &#x2014; material icon named "factory" (round).
  static const IconData factory_rounded = IconData(0xf0316, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">factory</i> &#x2014; material icon named "factory" (outlined).
  static const IconData factory_outlined = IconData(0xf05f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">family_restroom</i> &#x2014; material icon named "family restroom".
  static const IconData family_restroom = IconData(0xe257, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">family_restroom</i> &#x2014; material icon named "family restroom" (sharp).
  static const IconData family_restroom_sharp = IconData(0xe954, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">family_restroom</i> &#x2014; material icon named "family restroom" (round).
  static const IconData family_restroom_rounded = IconData(0xf733, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">family_restroom</i> &#x2014; material icon named "family restroom" (outlined).
  static const IconData family_restroom_outlined = IconData(0xf046, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fast_forward</i> &#x2014; material icon named "fast forward".
  static const IconData fast_forward = IconData(0xe258, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fast_forward</i> &#x2014; material icon named "fast forward" (sharp).
  static const IconData fast_forward_sharp = IconData(0xe955, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fast_forward</i> &#x2014; material icon named "fast forward" (round).
  static const IconData fast_forward_rounded = IconData(0xf734, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fast_forward</i> &#x2014; material icon named "fast forward" (outlined).
  static const IconData fast_forward_outlined = IconData(0xf047, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fast_rewind</i> &#x2014; material icon named "fast rewind".
  static const IconData fast_rewind = IconData(0xe259, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fast_rewind</i> &#x2014; material icon named "fast rewind" (sharp).
  static const IconData fast_rewind_sharp = IconData(0xe956, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fast_rewind</i> &#x2014; material icon named "fast rewind" (round).
  static const IconData fast_rewind_rounded = IconData(0xf735, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fast_rewind</i> &#x2014; material icon named "fast rewind" (outlined).
  static const IconData fast_rewind_outlined = IconData(0xf048, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fastfood</i> &#x2014; material icon named "fastfood".
  static const IconData fastfood = IconData(0xe25a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fastfood</i> &#x2014; material icon named "fastfood" (sharp).
  static const IconData fastfood_sharp = IconData(0xe957, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fastfood</i> &#x2014; material icon named "fastfood" (round).
  static const IconData fastfood_rounded = IconData(0xf736, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fastfood</i> &#x2014; material icon named "fastfood" (outlined).
  static const IconData fastfood_outlined = IconData(0xf049, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">favorite</i> &#x2014; material icon named "favorite".
  static const IconData favorite = IconData(0xe25b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">favorite</i> &#x2014; material icon named "favorite" (sharp).
  static const IconData favorite_sharp = IconData(0xe959, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">favorite</i> &#x2014; material icon named "favorite" (round).
  static const IconData favorite_rounded = IconData(0xf738, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">favorite</i> &#x2014; material icon named "favorite" (outlined).
  static const IconData favorite_outlined = IconData(0xf04b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">favorite_border</i> &#x2014; material icon named "favorite border".
  static const IconData favorite_border = IconData(0xe25c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">favorite_border</i> &#x2014; material icon named "favorite border" (sharp).
  static const IconData favorite_border_sharp = IconData(0xe958, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">favorite_border</i> &#x2014; material icon named "favorite border" (round).
  static const IconData favorite_border_rounded = IconData(0xf737, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">favorite_border</i> &#x2014; material icon named "favorite border" (outlined).
  static const IconData favorite_border_outlined = IconData(0xf04a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">favorite_outline</i> &#x2014; material icon named "favorite outline".
  static const IconData favorite_outline = IconData(0xe25c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">favorite_outline</i> &#x2014; material icon named "favorite outline" (sharp).
  static const IconData favorite_outline_sharp = IconData(0xe958, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">favorite_outline</i> &#x2014; material icon named "favorite outline" (round).
  static const IconData favorite_outline_rounded = IconData(0xf737, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">favorite_outline</i> &#x2014; material icon named "favorite outline" (outlined).
  static const IconData favorite_outline_outlined = IconData(0xf04a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fax</i> &#x2014; material icon named "fax".
  static const IconData fax = IconData(0xf04fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fax</i> &#x2014; material icon named "fax" (sharp).
  static const IconData fax_sharp = IconData(0xf040a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fax</i> &#x2014; material icon named "fax" (round).
  static const IconData fax_rounded = IconData(0xf0317, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fax</i> &#x2014; material icon named "fax" (outlined).
  static const IconData fax_outlined = IconData(0xf05f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">featured_play_list</i> &#x2014; material icon named "featured play list".
  static const IconData featured_play_list = IconData(0xe25d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">featured_play_list</i> &#x2014; material icon named "featured play list" (sharp).
  static const IconData featured_play_list_sharp = IconData(0xe95a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">featured_play_list</i> &#x2014; material icon named "featured play list" (round).
  static const IconData featured_play_list_rounded = IconData(0xf739, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">featured_play_list</i> &#x2014; material icon named "featured play list" (outlined).
  static const IconData featured_play_list_outlined = IconData(0xf04c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">featured_video</i> &#x2014; material icon named "featured video".
  static const IconData featured_video = IconData(0xe25e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">featured_video</i> &#x2014; material icon named "featured video" (sharp).
  static const IconData featured_video_sharp = IconData(0xe95b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">featured_video</i> &#x2014; material icon named "featured video" (round).
  static const IconData featured_video_rounded = IconData(0xf73a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">featured_video</i> &#x2014; material icon named "featured video" (outlined).
  static const IconData featured_video_outlined = IconData(0xf04d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">feed</i> &#x2014; material icon named "feed".
  static const IconData feed = IconData(0xe25f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">feed</i> &#x2014; material icon named "feed" (sharp).
  static const IconData feed_sharp = IconData(0xe95c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">feed</i> &#x2014; material icon named "feed" (round).
  static const IconData feed_rounded = IconData(0xf73b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">feed</i> &#x2014; material icon named "feed" (outlined).
  static const IconData feed_outlined = IconData(0xf04e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">feedback</i> &#x2014; material icon named "feedback".
  static const IconData feedback = IconData(0xe260, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">feedback</i> &#x2014; material icon named "feedback" (sharp).
  static const IconData feedback_sharp = IconData(0xe95d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">feedback</i> &#x2014; material icon named "feedback" (round).
  static const IconData feedback_rounded = IconData(0xf73c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">feedback</i> &#x2014; material icon named "feedback" (outlined).
  static const IconData feedback_outlined = IconData(0xf04f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">female</i> &#x2014; material icon named "female".
  static const IconData female = IconData(0xe261, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">female</i> &#x2014; material icon named "female" (sharp).
  static const IconData female_sharp = IconData(0xe95e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">female</i> &#x2014; material icon named "female" (round).
  static const IconData female_rounded = IconData(0xf73d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">female</i> &#x2014; material icon named "female" (outlined).
  static const IconData female_outlined = IconData(0xf050, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fence</i> &#x2014; material icon named "fence".
  static const IconData fence = IconData(0xe262, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fence</i> &#x2014; material icon named "fence" (sharp).
  static const IconData fence_sharp = IconData(0xe95f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fence</i> &#x2014; material icon named "fence" (round).
  static const IconData fence_rounded = IconData(0xf73e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fence</i> &#x2014; material icon named "fence" (outlined).
  static const IconData fence_outlined = IconData(0xf051, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">festival</i> &#x2014; material icon named "festival".
  static const IconData festival = IconData(0xe263, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">festival</i> &#x2014; material icon named "festival" (sharp).
  static const IconData festival_sharp = IconData(0xe960, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">festival</i> &#x2014; material icon named "festival" (round).
  static const IconData festival_rounded = IconData(0xf73f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">festival</i> &#x2014; material icon named "festival" (outlined).
  static const IconData festival_outlined = IconData(0xf052, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fiber_dvr</i> &#x2014; material icon named "fiber dvr".
  static const IconData fiber_dvr = IconData(0xe264, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fiber_dvr</i> &#x2014; material icon named "fiber dvr" (sharp).
  static const IconData fiber_dvr_sharp = IconData(0xe961, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fiber_dvr</i> &#x2014; material icon named "fiber dvr" (round).
  static const IconData fiber_dvr_rounded = IconData(0xf740, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fiber_dvr</i> &#x2014; material icon named "fiber dvr" (outlined).
  static const IconData fiber_dvr_outlined = IconData(0xf053, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fiber_manual_record</i> &#x2014; material icon named "fiber manual record".
  static const IconData fiber_manual_record = IconData(0xe265, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fiber_manual_record</i> &#x2014; material icon named "fiber manual record" (sharp).
  static const IconData fiber_manual_record_sharp = IconData(0xe962, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fiber_manual_record</i> &#x2014; material icon named "fiber manual record" (round).
  static const IconData fiber_manual_record_rounded = IconData(0xf741, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fiber_manual_record</i> &#x2014; material icon named "fiber manual record" (outlined).
  static const IconData fiber_manual_record_outlined = IconData(0xf054, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fiber_new</i> &#x2014; material icon named "fiber new".
  static const IconData fiber_new = IconData(0xe266, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fiber_new</i> &#x2014; material icon named "fiber new" (sharp).
  static const IconData fiber_new_sharp = IconData(0xe963, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fiber_new</i> &#x2014; material icon named "fiber new" (round).
  static const IconData fiber_new_rounded = IconData(0xf742, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fiber_new</i> &#x2014; material icon named "fiber new" (outlined).
  static const IconData fiber_new_outlined = IconData(0xf055, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fiber_pin</i> &#x2014; material icon named "fiber pin".
  static const IconData fiber_pin = IconData(0xe267, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fiber_pin</i> &#x2014; material icon named "fiber pin" (sharp).
  static const IconData fiber_pin_sharp = IconData(0xe964, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fiber_pin</i> &#x2014; material icon named "fiber pin" (round).
  static const IconData fiber_pin_rounded = IconData(0xf743, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fiber_pin</i> &#x2014; material icon named "fiber pin" (outlined).
  static const IconData fiber_pin_outlined = IconData(0xf056, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fiber_smart_record</i> &#x2014; material icon named "fiber smart record".
  static const IconData fiber_smart_record = IconData(0xe268, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fiber_smart_record</i> &#x2014; material icon named "fiber smart record" (sharp).
  static const IconData fiber_smart_record_sharp = IconData(0xe965, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fiber_smart_record</i> &#x2014; material icon named "fiber smart record" (round).
  static const IconData fiber_smart_record_rounded = IconData(0xf744, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fiber_smart_record</i> &#x2014; material icon named "fiber smart record" (outlined).
  static const IconData fiber_smart_record_outlined = IconData(0xf057, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">file_copy</i> &#x2014; material icon named "file copy".
  static const IconData file_copy = IconData(0xe269, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">file_copy</i> &#x2014; material icon named "file copy" (sharp).
  static const IconData file_copy_sharp = IconData(0xe966, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">file_copy</i> &#x2014; material icon named "file copy" (round).
  static const IconData file_copy_rounded = IconData(0xf745, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">file_copy</i> &#x2014; material icon named "file copy" (outlined).
  static const IconData file_copy_outlined = IconData(0xf058, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">file_download</i> &#x2014; material icon named "file download".
  static const IconData file_download = IconData(0xe26a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">file_download</i> &#x2014; material icon named "file download" (sharp).
  static const IconData file_download_sharp = IconData(0xe969, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">file_download</i> &#x2014; material icon named "file download" (round).
  static const IconData file_download_rounded = IconData(0xf748, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">file_download</i> &#x2014; material icon named "file download" (outlined).
  static const IconData file_download_outlined = IconData(0xf05b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">file_download_done</i> &#x2014; material icon named "file download done".
  static const IconData file_download_done = IconData(0xe26b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">file_download_done</i> &#x2014; material icon named "file download done" (sharp).
  static const IconData file_download_done_sharp = IconData(0xe967, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">file_download_done</i> &#x2014; material icon named "file download done" (round).
  static const IconData file_download_done_rounded = IconData(0xf746, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">file_download_done</i> &#x2014; material icon named "file download done" (outlined).
  static const IconData file_download_done_outlined = IconData(0xf059, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">file_download_off</i> &#x2014; material icon named "file download off".
  static const IconData file_download_off = IconData(0xe26c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">file_download_off</i> &#x2014; material icon named "file download off" (sharp).
  static const IconData file_download_off_sharp = IconData(0xe968, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">file_download_off</i> &#x2014; material icon named "file download off" (round).
  static const IconData file_download_off_rounded = IconData(0xf747, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">file_download_off</i> &#x2014; material icon named "file download off" (outlined).
  static const IconData file_download_off_outlined = IconData(0xf05a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">file_open</i> &#x2014; material icon named "file open".
  static const IconData file_open = IconData(0xf04ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">file_open</i> &#x2014; material icon named "file open" (sharp).
  static const IconData file_open_sharp = IconData(0xf040b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">file_open</i> &#x2014; material icon named "file open" (round).
  static const IconData file_open_rounded = IconData(0xf0318, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">file_open</i> &#x2014; material icon named "file open" (outlined).
  static const IconData file_open_outlined = IconData(0xf05f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">file_present</i> &#x2014; material icon named "file present".
  static const IconData file_present = IconData(0xe26d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">file_present</i> &#x2014; material icon named "file present" (sharp).
  static const IconData file_present_sharp = IconData(0xe96a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">file_present</i> &#x2014; material icon named "file present" (round).
  static const IconData file_present_rounded = IconData(0xf749, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">file_present</i> &#x2014; material icon named "file present" (outlined).
  static const IconData file_present_outlined = IconData(0xf05c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">file_upload</i> &#x2014; material icon named "file upload".
  static const IconData file_upload = IconData(0xe26e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">file_upload</i> &#x2014; material icon named "file upload" (sharp).
  static const IconData file_upload_sharp = IconData(0xe96b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">file_upload</i> &#x2014; material icon named "file upload" (round).
  static const IconData file_upload_rounded = IconData(0xf74a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">file_upload</i> &#x2014; material icon named "file upload" (outlined).
  static const IconData file_upload_outlined = IconData(0xf05d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">file_upload_off</i> &#x2014; material icon named "file upload off".
  static const IconData file_upload_off = IconData(0xf0864, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter</i> &#x2014; material icon named "filter".
  static const IconData filter = IconData(0xe26f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter</i> &#x2014; material icon named "filter" (sharp).
  static const IconData filter_sharp = IconData(0xe97e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter</i> &#x2014; material icon named "filter" (round).
  static const IconData filter_rounded = IconData(0xf75d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter</i> &#x2014; material icon named "filter" (outlined).
  static const IconData filter_outlined = IconData(0xf070, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_1</i> &#x2014; material icon named "filter 1".
  static const IconData filter_1 = IconData(0xe270, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_1</i> &#x2014; material icon named "filter 1" (sharp).
  static const IconData filter_1_sharp = IconData(0xe96c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_1</i> &#x2014; material icon named "filter 1" (round).
  static const IconData filter_1_rounded = IconData(0xf74b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_1</i> &#x2014; material icon named "filter 1" (outlined).
  static const IconData filter_1_outlined = IconData(0xf05e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_2</i> &#x2014; material icon named "filter 2".
  static const IconData filter_2 = IconData(0xe271, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_2</i> &#x2014; material icon named "filter 2" (sharp).
  static const IconData filter_2_sharp = IconData(0xe96d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_2</i> &#x2014; material icon named "filter 2" (round).
  static const IconData filter_2_rounded = IconData(0xf74c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_2</i> &#x2014; material icon named "filter 2" (outlined).
  static const IconData filter_2_outlined = IconData(0xf05f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_3</i> &#x2014; material icon named "filter 3".
  static const IconData filter_3 = IconData(0xe272, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_3</i> &#x2014; material icon named "filter 3" (sharp).
  static const IconData filter_3_sharp = IconData(0xe96e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_3</i> &#x2014; material icon named "filter 3" (round).
  static const IconData filter_3_rounded = IconData(0xf74d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_3</i> &#x2014; material icon named "filter 3" (outlined).
  static const IconData filter_3_outlined = IconData(0xf060, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_4</i> &#x2014; material icon named "filter 4".
  static const IconData filter_4 = IconData(0xe273, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_4</i> &#x2014; material icon named "filter 4" (sharp).
  static const IconData filter_4_sharp = IconData(0xe96f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_4</i> &#x2014; material icon named "filter 4" (round).
  static const IconData filter_4_rounded = IconData(0xf74e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_4</i> &#x2014; material icon named "filter 4" (outlined).
  static const IconData filter_4_outlined = IconData(0xf061, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_5</i> &#x2014; material icon named "filter 5".
  static const IconData filter_5 = IconData(0xe274, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_5</i> &#x2014; material icon named "filter 5" (sharp).
  static const IconData filter_5_sharp = IconData(0xe970, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_5</i> &#x2014; material icon named "filter 5" (round).
  static const IconData filter_5_rounded = IconData(0xf74f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_5</i> &#x2014; material icon named "filter 5" (outlined).
  static const IconData filter_5_outlined = IconData(0xf062, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_6</i> &#x2014; material icon named "filter 6".
  static const IconData filter_6 = IconData(0xe275, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_6</i> &#x2014; material icon named "filter 6" (sharp).
  static const IconData filter_6_sharp = IconData(0xe971, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_6</i> &#x2014; material icon named "filter 6" (round).
  static const IconData filter_6_rounded = IconData(0xf750, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_6</i> &#x2014; material icon named "filter 6" (outlined).
  static const IconData filter_6_outlined = IconData(0xf063, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_7</i> &#x2014; material icon named "filter 7".
  static const IconData filter_7 = IconData(0xe276, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_7</i> &#x2014; material icon named "filter 7" (sharp).
  static const IconData filter_7_sharp = IconData(0xe972, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_7</i> &#x2014; material icon named "filter 7" (round).
  static const IconData filter_7_rounded = IconData(0xf751, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_7</i> &#x2014; material icon named "filter 7" (outlined).
  static const IconData filter_7_outlined = IconData(0xf064, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_8</i> &#x2014; material icon named "filter 8".
  static const IconData filter_8 = IconData(0xe277, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_8</i> &#x2014; material icon named "filter 8" (sharp).
  static const IconData filter_8_sharp = IconData(0xe973, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_8</i> &#x2014; material icon named "filter 8" (round).
  static const IconData filter_8_rounded = IconData(0xf752, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_8</i> &#x2014; material icon named "filter 8" (outlined).
  static const IconData filter_8_outlined = IconData(0xf065, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_9</i> &#x2014; material icon named "filter 9".
  static const IconData filter_9 = IconData(0xe278, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_9</i> &#x2014; material icon named "filter 9" (sharp).
  static const IconData filter_9_sharp = IconData(0xe975, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_9</i> &#x2014; material icon named "filter 9" (round).
  static const IconData filter_9_rounded = IconData(0xf754, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_9</i> &#x2014; material icon named "filter 9" (outlined).
  static const IconData filter_9_outlined = IconData(0xf066, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_9_plus</i> &#x2014; material icon named "filter 9 plus".
  static const IconData filter_9_plus = IconData(0xe279, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_9_plus</i> &#x2014; material icon named "filter 9 plus" (sharp).
  static const IconData filter_9_plus_sharp = IconData(0xe974, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_9_plus</i> &#x2014; material icon named "filter 9 plus" (round).
  static const IconData filter_9_plus_rounded = IconData(0xf753, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_9_plus</i> &#x2014; material icon named "filter 9 plus" (outlined).
  static const IconData filter_9_plus_outlined = IconData(0xf067, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_alt</i> &#x2014; material icon named "filter alt".
  static const IconData filter_alt = IconData(0xe27a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_alt</i> &#x2014; material icon named "filter alt" (sharp).
  static const IconData filter_alt_sharp = IconData(0xe976, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_alt</i> &#x2014; material icon named "filter alt" (round).
  static const IconData filter_alt_rounded = IconData(0xf755, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_alt</i> &#x2014; material icon named "filter alt" (outlined).
  static const IconData filter_alt_outlined = IconData(0xf068, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_alt_off</i> &#x2014; material icon named "filter alt off".
  static const IconData filter_alt_off = IconData(0xf0500, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_alt_off</i> &#x2014; material icon named "filter alt off" (sharp).
  static const IconData filter_alt_off_sharp = IconData(0xf040c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_alt_off</i> &#x2014; material icon named "filter alt off" (round).
  static const IconData filter_alt_off_rounded = IconData(0xf0319, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_alt_off</i> &#x2014; material icon named "filter alt off" (outlined).
  static const IconData filter_alt_off_outlined = IconData(0xf05fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_b_and_w</i> &#x2014; material icon named "filter b and w".
  static const IconData filter_b_and_w = IconData(0xe27b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_b_and_w</i> &#x2014; material icon named "filter b and w" (sharp).
  static const IconData filter_b_and_w_sharp = IconData(0xe977, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_b_and_w</i> &#x2014; material icon named "filter b and w" (round).
  static const IconData filter_b_and_w_rounded = IconData(0xf756, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_b_and_w</i> &#x2014; material icon named "filter b and w" (outlined).
  static const IconData filter_b_and_w_outlined = IconData(0xf069, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_center_focus</i> &#x2014; material icon named "filter center focus".
  static const IconData filter_center_focus = IconData(0xe27c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_center_focus</i> &#x2014; material icon named "filter center focus" (sharp).
  static const IconData filter_center_focus_sharp = IconData(0xe978, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_center_focus</i> &#x2014; material icon named "filter center focus" (round).
  static const IconData filter_center_focus_rounded = IconData(0xf757, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_center_focus</i> &#x2014; material icon named "filter center focus" (outlined).
  static const IconData filter_center_focus_outlined = IconData(0xf06a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_drama</i> &#x2014; material icon named "filter drama".
  static const IconData filter_drama = IconData(0xe27d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_drama</i> &#x2014; material icon named "filter drama" (sharp).
  static const IconData filter_drama_sharp = IconData(0xe979, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_drama</i> &#x2014; material icon named "filter drama" (round).
  static const IconData filter_drama_rounded = IconData(0xf758, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_drama</i> &#x2014; material icon named "filter drama" (outlined).
  static const IconData filter_drama_outlined = IconData(0xf06b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_frames</i> &#x2014; material icon named "filter frames".
  static const IconData filter_frames = IconData(0xe27e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_frames</i> &#x2014; material icon named "filter frames" (sharp).
  static const IconData filter_frames_sharp = IconData(0xe97a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_frames</i> &#x2014; material icon named "filter frames" (round).
  static const IconData filter_frames_rounded = IconData(0xf759, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_frames</i> &#x2014; material icon named "filter frames" (outlined).
  static const IconData filter_frames_outlined = IconData(0xf06c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_hdr</i> &#x2014; material icon named "filter hdr".
  static const IconData filter_hdr = IconData(0xe27f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_hdr</i> &#x2014; material icon named "filter hdr" (sharp).
  static const IconData filter_hdr_sharp = IconData(0xe97b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_hdr</i> &#x2014; material icon named "filter hdr" (round).
  static const IconData filter_hdr_rounded = IconData(0xf75a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_hdr</i> &#x2014; material icon named "filter hdr" (outlined).
  static const IconData filter_hdr_outlined = IconData(0xf06d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_list</i> &#x2014; material icon named "filter list".
  static const IconData filter_list = IconData(0xe280, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_list</i> &#x2014; material icon named "filter list" (sharp).
  static const IconData filter_list_sharp = IconData(0xe97c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_list</i> &#x2014; material icon named "filter list" (round).
  static const IconData filter_list_rounded = IconData(0xf75b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_list</i> &#x2014; material icon named "filter list" (outlined).
  static const IconData filter_list_outlined = IconData(0xf06e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_list_alt</i> &#x2014; material icon named "filter list alt".
  static const IconData filter_list_alt = IconData(0xe281, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_list_off</i> &#x2014; material icon named "filter list off".
  static const IconData filter_list_off = IconData(0xf0501, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_list_off</i> &#x2014; material icon named "filter list off" (sharp).
  static const IconData filter_list_off_sharp = IconData(0xf040d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_list_off</i> &#x2014; material icon named "filter list off" (round).
  static const IconData filter_list_off_rounded = IconData(0xf031a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_list_off</i> &#x2014; material icon named "filter list off" (outlined).
  static const IconData filter_list_off_outlined = IconData(0xf05fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_none</i> &#x2014; material icon named "filter none".
  static const IconData filter_none = IconData(0xe282, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_none</i> &#x2014; material icon named "filter none" (sharp).
  static const IconData filter_none_sharp = IconData(0xe97d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_none</i> &#x2014; material icon named "filter none" (round).
  static const IconData filter_none_rounded = IconData(0xf75c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_none</i> &#x2014; material icon named "filter none" (outlined).
  static const IconData filter_none_outlined = IconData(0xf06f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_tilt_shift</i> &#x2014; material icon named "filter tilt shift".
  static const IconData filter_tilt_shift = IconData(0xe283, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_tilt_shift</i> &#x2014; material icon named "filter tilt shift" (sharp).
  static const IconData filter_tilt_shift_sharp = IconData(0xe97f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_tilt_shift</i> &#x2014; material icon named "filter tilt shift" (round).
  static const IconData filter_tilt_shift_rounded = IconData(0xf75e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_tilt_shift</i> &#x2014; material icon named "filter tilt shift" (outlined).
  static const IconData filter_tilt_shift_outlined = IconData(0xf071, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_vintage</i> &#x2014; material icon named "filter vintage".
  static const IconData filter_vintage = IconData(0xe284, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_vintage</i> &#x2014; material icon named "filter vintage" (sharp).
  static const IconData filter_vintage_sharp = IconData(0xe980, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_vintage</i> &#x2014; material icon named "filter vintage" (round).
  static const IconData filter_vintage_rounded = IconData(0xf75f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_vintage</i> &#x2014; material icon named "filter vintage" (outlined).
  static const IconData filter_vintage_outlined = IconData(0xf072, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">find_in_page</i> &#x2014; material icon named "find in page".
  static const IconData find_in_page = IconData(0xe285, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">find_in_page</i> &#x2014; material icon named "find in page" (sharp).
  static const IconData find_in_page_sharp = IconData(0xe981, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">find_in_page</i> &#x2014; material icon named "find in page" (round).
  static const IconData find_in_page_rounded = IconData(0xf760, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">find_in_page</i> &#x2014; material icon named "find in page" (outlined).
  static const IconData find_in_page_outlined = IconData(0xf073, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">find_replace</i> &#x2014; material icon named "find replace".
  static const IconData find_replace = IconData(0xe286, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">find_replace</i> &#x2014; material icon named "find replace" (sharp).
  static const IconData find_replace_sharp = IconData(0xe982, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">find_replace</i> &#x2014; material icon named "find replace" (round).
  static const IconData find_replace_rounded = IconData(0xf761, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">find_replace</i> &#x2014; material icon named "find replace" (outlined).
  static const IconData find_replace_outlined = IconData(0xf074, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fingerprint</i> &#x2014; material icon named "fingerprint".
  static const IconData fingerprint = IconData(0xe287, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fingerprint</i> &#x2014; material icon named "fingerprint" (sharp).
  static const IconData fingerprint_sharp = IconData(0xe983, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fingerprint</i> &#x2014; material icon named "fingerprint" (round).
  static const IconData fingerprint_rounded = IconData(0xf762, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fingerprint</i> &#x2014; material icon named "fingerprint" (outlined).
  static const IconData fingerprint_outlined = IconData(0xf075, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fire_extinguisher</i> &#x2014; material icon named "fire extinguisher".
  static const IconData fire_extinguisher = IconData(0xe288, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fire_extinguisher</i> &#x2014; material icon named "fire extinguisher" (sharp).
  static const IconData fire_extinguisher_sharp = IconData(0xe984, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fire_extinguisher</i> &#x2014; material icon named "fire extinguisher" (round).
  static const IconData fire_extinguisher_rounded = IconData(0xf763, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fire_extinguisher</i> &#x2014; material icon named "fire extinguisher" (outlined).
  static const IconData fire_extinguisher_outlined = IconData(0xf076, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fire_hydrant</i> &#x2014; material icon named "fire hydrant".
  static const IconData fire_hydrant = IconData(0xe289, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fire_hydrant_alt</i> &#x2014; material icon named "fire hydrant alt".
  static const IconData fire_hydrant_alt = IconData(0xf07a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fire_hydrant_alt</i> &#x2014; material icon named "fire hydrant alt" (sharp).
  static const IconData fire_hydrant_alt_sharp = IconData(0xf0749, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fire_hydrant_alt</i> &#x2014; material icon named "fire hydrant alt" (round).
  static const IconData fire_hydrant_alt_rounded = IconData(0xf07f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fire_hydrant_alt</i> &#x2014; material icon named "fire hydrant alt" (outlined).
  static const IconData fire_hydrant_alt_outlined = IconData(0xf06f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fire_truck</i> &#x2014; material icon named "fire truck".
  static const IconData fire_truck = IconData(0xf07a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fire_truck</i> &#x2014; material icon named "fire truck" (sharp).
  static const IconData fire_truck_sharp = IconData(0xf074a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fire_truck</i> &#x2014; material icon named "fire truck" (round).
  static const IconData fire_truck_rounded = IconData(0xf07fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fire_truck</i> &#x2014; material icon named "fire truck" (outlined).
  static const IconData fire_truck_outlined = IconData(0xf06f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fireplace</i> &#x2014; material icon named "fireplace".
  static const IconData fireplace = IconData(0xe28a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fireplace</i> &#x2014; material icon named "fireplace" (sharp).
  static const IconData fireplace_sharp = IconData(0xe985, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fireplace</i> &#x2014; material icon named "fireplace" (round).
  static const IconData fireplace_rounded = IconData(0xf764, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fireplace</i> &#x2014; material icon named "fireplace" (outlined).
  static const IconData fireplace_outlined = IconData(0xf077, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">first_page</i> &#x2014; material icon named "first page".
  static const IconData first_page = IconData(0xe28b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">first_page</i> &#x2014; material icon named "first page" (sharp).
  static const IconData first_page_sharp = IconData(0xe986, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">first_page</i> &#x2014; material icon named "first page" (round).
  static const IconData first_page_rounded = IconData(0xf765, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">first_page</i> &#x2014; material icon named "first page" (outlined).
  static const IconData first_page_outlined = IconData(0xf078, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">fit_screen</i> &#x2014; material icon named "fit screen".
  static const IconData fit_screen = IconData(0xe28c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fit_screen</i> &#x2014; material icon named "fit screen" (sharp).
  static const IconData fit_screen_sharp = IconData(0xe987, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fit_screen</i> &#x2014; material icon named "fit screen" (round).
  static const IconData fit_screen_rounded = IconData(0xf766, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fit_screen</i> &#x2014; material icon named "fit screen" (outlined).
  static const IconData fit_screen_outlined = IconData(0xf079, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fitbit</i> &#x2014; material icon named "fitbit".
  static const IconData fitbit = IconData(0xf0502, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fitbit</i> &#x2014; material icon named "fitbit" (sharp).
  static const IconData fitbit_sharp = IconData(0xf040e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fitbit</i> &#x2014; material icon named "fitbit" (round).
  static const IconData fitbit_rounded = IconData(0xf031b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fitbit</i> &#x2014; material icon named "fitbit" (outlined).
  static const IconData fitbit_outlined = IconData(0xf05fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fitness_center</i> &#x2014; material icon named "fitness center".
  static const IconData fitness_center = IconData(0xe28d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fitness_center</i> &#x2014; material icon named "fitness center" (sharp).
  static const IconData fitness_center_sharp = IconData(0xe988, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fitness_center</i> &#x2014; material icon named "fitness center" (round).
  static const IconData fitness_center_rounded = IconData(0xf767, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fitness_center</i> &#x2014; material icon named "fitness center" (outlined).
  static const IconData fitness_center_outlined = IconData(0xf07a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flag</i> &#x2014; material icon named "flag".
  static const IconData flag = IconData(0xe28e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flag</i> &#x2014; material icon named "flag" (sharp).
  static const IconData flag_sharp = IconData(0xe989, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flag</i> &#x2014; material icon named "flag" (round).
  static const IconData flag_rounded = IconData(0xf768, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flag</i> &#x2014; material icon named "flag" (outlined).
  static const IconData flag_outlined = IconData(0xf07b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flag_circle</i> &#x2014; material icon named "flag circle".
  static const IconData flag_circle = IconData(0xf0503, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flag_circle</i> &#x2014; material icon named "flag circle" (sharp).
  static const IconData flag_circle_sharp = IconData(0xf040f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flag_circle</i> &#x2014; material icon named "flag circle" (round).
  static const IconData flag_circle_rounded = IconData(0xf031c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flag_circle</i> &#x2014; material icon named "flag circle" (outlined).
  static const IconData flag_circle_outlined = IconData(0xf05fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flaky</i> &#x2014; material icon named "flaky".
  static const IconData flaky = IconData(0xe28f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flaky</i> &#x2014; material icon named "flaky" (sharp).
  static const IconData flaky_sharp = IconData(0xe98a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flaky</i> &#x2014; material icon named "flaky" (round).
  static const IconData flaky_rounded = IconData(0xf769, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flaky</i> &#x2014; material icon named "flaky" (outlined).
  static const IconData flaky_outlined = IconData(0xf07c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flare</i> &#x2014; material icon named "flare".
  static const IconData flare = IconData(0xe290, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flare</i> &#x2014; material icon named "flare" (sharp).
  static const IconData flare_sharp = IconData(0xe98b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flare</i> &#x2014; material icon named "flare" (round).
  static const IconData flare_rounded = IconData(0xf76a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flare</i> &#x2014; material icon named "flare" (outlined).
  static const IconData flare_outlined = IconData(0xf07d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flash_auto</i> &#x2014; material icon named "flash auto".
  static const IconData flash_auto = IconData(0xe291, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flash_auto</i> &#x2014; material icon named "flash auto" (sharp).
  static const IconData flash_auto_sharp = IconData(0xe98c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flash_auto</i> &#x2014; material icon named "flash auto" (round).
  static const IconData flash_auto_rounded = IconData(0xf76b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flash_auto</i> &#x2014; material icon named "flash auto" (outlined).
  static const IconData flash_auto_outlined = IconData(0xf07e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flash_off</i> &#x2014; material icon named "flash off".
  static const IconData flash_off = IconData(0xe292, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flash_off</i> &#x2014; material icon named "flash off" (sharp).
  static const IconData flash_off_sharp = IconData(0xe98d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flash_off</i> &#x2014; material icon named "flash off" (round).
  static const IconData flash_off_rounded = IconData(0xf76c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flash_off</i> &#x2014; material icon named "flash off" (outlined).
  static const IconData flash_off_outlined = IconData(0xf07f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flash_on</i> &#x2014; material icon named "flash on".
  static const IconData flash_on = IconData(0xe293, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flash_on</i> &#x2014; material icon named "flash on" (sharp).
  static const IconData flash_on_sharp = IconData(0xe98e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flash_on</i> &#x2014; material icon named "flash on" (round).
  static const IconData flash_on_rounded = IconData(0xf76d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flash_on</i> &#x2014; material icon named "flash on" (outlined).
  static const IconData flash_on_outlined = IconData(0xf080, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flashlight_off</i> &#x2014; material icon named "flashlight off".
  static const IconData flashlight_off = IconData(0xe294, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flashlight_off</i> &#x2014; material icon named "flashlight off" (sharp).
  static const IconData flashlight_off_sharp = IconData(0xe98f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flashlight_off</i> &#x2014; material icon named "flashlight off" (round).
  static const IconData flashlight_off_rounded = IconData(0xf76e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flashlight_off</i> &#x2014; material icon named "flashlight off" (outlined).
  static const IconData flashlight_off_outlined = IconData(0xf081, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flashlight_on</i> &#x2014; material icon named "flashlight on".
  static const IconData flashlight_on = IconData(0xe295, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flashlight_on</i> &#x2014; material icon named "flashlight on" (sharp).
  static const IconData flashlight_on_sharp = IconData(0xe990, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flashlight_on</i> &#x2014; material icon named "flashlight on" (round).
  static const IconData flashlight_on_rounded = IconData(0xf76f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flashlight_on</i> &#x2014; material icon named "flashlight on" (outlined).
  static const IconData flashlight_on_outlined = IconData(0xf082, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flatware</i> &#x2014; material icon named "flatware".
  static const IconData flatware = IconData(0xe296, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flatware</i> &#x2014; material icon named "flatware" (sharp).
  static const IconData flatware_sharp = IconData(0xe991, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flatware</i> &#x2014; material icon named "flatware" (round).
  static const IconData flatware_rounded = IconData(0xf770, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flatware</i> &#x2014; material icon named "flatware" (outlined).
  static const IconData flatware_outlined = IconData(0xf083, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flight</i> &#x2014; material icon named "flight".
  static const IconData flight = IconData(0xe297, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flight</i> &#x2014; material icon named "flight" (sharp).
  static const IconData flight_sharp = IconData(0xe993, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flight</i> &#x2014; material icon named "flight" (round).
  static const IconData flight_rounded = IconData(0xf772, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flight</i> &#x2014; material icon named "flight" (outlined).
  static const IconData flight_outlined = IconData(0xf085, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flight_class</i> &#x2014; material icon named "flight class".
  static const IconData flight_class = IconData(0xf0504, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flight_class</i> &#x2014; material icon named "flight class" (sharp).
  static const IconData flight_class_sharp = IconData(0xf0410, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flight_class</i> &#x2014; material icon named "flight class" (round).
  static const IconData flight_class_rounded = IconData(0xf031d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flight_class</i> &#x2014; material icon named "flight class" (outlined).
  static const IconData flight_class_outlined = IconData(0xf05fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flight_land</i> &#x2014; material icon named "flight land".
  static const IconData flight_land = IconData(0xe298, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">flight_land</i> &#x2014; material icon named "flight land" (sharp).
  static const IconData flight_land_sharp = IconData(0xe992, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">flight_land</i> &#x2014; material icon named "flight land" (round).
  static const IconData flight_land_rounded = IconData(0xf771, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">flight_land</i> &#x2014; material icon named "flight land" (outlined).
  static const IconData flight_land_outlined = IconData(0xf084, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">flight_takeoff</i> &#x2014; material icon named "flight takeoff".
  static const IconData flight_takeoff = IconData(0xe299, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">flight_takeoff</i> &#x2014; material icon named "flight takeoff" (sharp).
  static const IconData flight_takeoff_sharp = IconData(0xe994, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">flight_takeoff</i> &#x2014; material icon named "flight takeoff" (round).
  static const IconData flight_takeoff_rounded = IconData(0xf773, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">flight_takeoff</i> &#x2014; material icon named "flight takeoff" (outlined).
  static const IconData flight_takeoff_outlined = IconData(0xf086, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">flip</i> &#x2014; material icon named "flip".
  static const IconData flip = IconData(0xe29a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flip</i> &#x2014; material icon named "flip" (sharp).
  static const IconData flip_sharp = IconData(0xe997, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flip</i> &#x2014; material icon named "flip" (round).
  static const IconData flip_rounded = IconData(0xf776, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flip</i> &#x2014; material icon named "flip" (outlined).
  static const IconData flip_outlined = IconData(0xf089, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flip_camera_android</i> &#x2014; material icon named "flip camera android".
  static const IconData flip_camera_android = IconData(0xe29b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flip_camera_android</i> &#x2014; material icon named "flip camera android" (sharp).
  static const IconData flip_camera_android_sharp = IconData(0xe995, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flip_camera_android</i> &#x2014; material icon named "flip camera android" (round).
  static const IconData flip_camera_android_rounded = IconData(0xf774, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flip_camera_android</i> &#x2014; material icon named "flip camera android" (outlined).
  static const IconData flip_camera_android_outlined = IconData(0xf087, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flip_camera_ios</i> &#x2014; material icon named "flip camera ios".
  static const IconData flip_camera_ios = IconData(0xe29c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flip_camera_ios</i> &#x2014; material icon named "flip camera ios" (sharp).
  static const IconData flip_camera_ios_sharp = IconData(0xe996, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flip_camera_ios</i> &#x2014; material icon named "flip camera ios" (round).
  static const IconData flip_camera_ios_rounded = IconData(0xf775, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flip_camera_ios</i> &#x2014; material icon named "flip camera ios" (outlined).
  static const IconData flip_camera_ios_outlined = IconData(0xf088, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flip_to_back</i> &#x2014; material icon named "flip to back".
  static const IconData flip_to_back = IconData(0xe29d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flip_to_back</i> &#x2014; material icon named "flip to back" (sharp).
  static const IconData flip_to_back_sharp = IconData(0xe998, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flip_to_back</i> &#x2014; material icon named "flip to back" (round).
  static const IconData flip_to_back_rounded = IconData(0xf777, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flip_to_back</i> &#x2014; material icon named "flip to back" (outlined).
  static const IconData flip_to_back_outlined = IconData(0xf08a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flip_to_front</i> &#x2014; material icon named "flip to front".
  static const IconData flip_to_front = IconData(0xe29e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flip_to_front</i> &#x2014; material icon named "flip to front" (sharp).
  static const IconData flip_to_front_sharp = IconData(0xe999, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flip_to_front</i> &#x2014; material icon named "flip to front" (round).
  static const IconData flip_to_front_rounded = IconData(0xf778, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flip_to_front</i> &#x2014; material icon named "flip to front" (outlined).
  static const IconData flip_to_front_outlined = IconData(0xf08b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flood</i> &#x2014; material icon named "flood".
  static const IconData flood = IconData(0xf07a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flood</i> &#x2014; material icon named "flood" (sharp).
  static const IconData flood_sharp = IconData(0xf074b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flood</i> &#x2014; material icon named "flood" (round).
  static const IconData flood_rounded = IconData(0xf07fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flood</i> &#x2014; material icon named "flood" (outlined).
  static const IconData flood_outlined = IconData(0xf06f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flourescent</i> &#x2014; material icon named "flourescent".
  static const IconData flourescent = IconData(0xf0865, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flourescent</i> &#x2014; material icon named "flourescent" (sharp).
  static const IconData flourescent_sharp = IconData(0xf0840, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flourescent</i> &#x2014; material icon named "flourescent" (round).
  static const IconData flourescent_rounded = IconData(0xf0889, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flourescent</i> &#x2014; material icon named "flourescent" (outlined).
  static const IconData flourescent_outlined = IconData(0xf08a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fluorescent</i> &#x2014; material icon named "fluorescent".
  static const IconData fluorescent = IconData(0xf0865, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fluorescent</i> &#x2014; material icon named "fluorescent" (sharp).
  static const IconData fluorescent_sharp = IconData(0xf0840, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fluorescent</i> &#x2014; material icon named "fluorescent" (round).
  static const IconData fluorescent_rounded = IconData(0xf0889, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fluorescent</i> &#x2014; material icon named "fluorescent" (outlined).
  static const IconData fluorescent_outlined = IconData(0xf08a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flutter_dash</i> &#x2014; material icon named "flutter dash".
  static const IconData flutter_dash = IconData(0xe2a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flutter_dash</i> &#x2014; material icon named "flutter dash" (sharp).
  static const IconData flutter_dash_sharp = IconData(0xe99b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flutter_dash</i> &#x2014; material icon named "flutter dash" (round).
  static const IconData flutter_dash_rounded = IconData(0xf77a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flutter_dash</i> &#x2014; material icon named "flutter dash" (outlined).
  static const IconData flutter_dash_outlined = IconData(0xf08d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fmd_bad</i> &#x2014; material icon named "fmd bad".
  static const IconData fmd_bad = IconData(0xe2a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fmd_bad</i> &#x2014; material icon named "fmd bad" (sharp).
  static const IconData fmd_bad_sharp = IconData(0xe99c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fmd_bad</i> &#x2014; material icon named "fmd bad" (round).
  static const IconData fmd_bad_rounded = IconData(0xf77b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fmd_bad</i> &#x2014; material icon named "fmd bad" (outlined).
  static const IconData fmd_bad_outlined = IconData(0xf08e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fmd_good</i> &#x2014; material icon named "fmd good".
  static const IconData fmd_good = IconData(0xe2a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fmd_good</i> &#x2014; material icon named "fmd good" (sharp).
  static const IconData fmd_good_sharp = IconData(0xe99d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fmd_good</i> &#x2014; material icon named "fmd good" (round).
  static const IconData fmd_good_rounded = IconData(0xf77c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fmd_good</i> &#x2014; material icon named "fmd good" (outlined).
  static const IconData fmd_good_outlined = IconData(0xf08f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">foggy</i> &#x2014; material icon named "foggy".
  static const IconData foggy = IconData(0xf0505, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">folder</i> &#x2014; material icon named "folder".
  static const IconData folder = IconData(0xe2a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">folder</i> &#x2014; material icon named "folder" (sharp).
  static const IconData folder_sharp = IconData(0xe9a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">folder</i> &#x2014; material icon named "folder" (round).
  static const IconData folder_rounded = IconData(0xf77e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">folder</i> &#x2014; material icon named "folder" (outlined).
  static const IconData folder_outlined = IconData(0xf091, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">folder_copy</i> &#x2014; material icon named "folder copy".
  static const IconData folder_copy = IconData(0xf0506, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">folder_copy</i> &#x2014; material icon named "folder copy" (sharp).
  static const IconData folder_copy_sharp = IconData(0xf0411, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">folder_copy</i> &#x2014; material icon named "folder copy" (round).
  static const IconData folder_copy_rounded = IconData(0xf031e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">folder_copy</i> &#x2014; material icon named "folder copy" (outlined).
  static const IconData folder_copy_outlined = IconData(0xf05ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">folder_delete</i> &#x2014; material icon named "folder delete".
  static const IconData folder_delete = IconData(0xf0507, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">folder_delete</i> &#x2014; material icon named "folder delete" (sharp).
  static const IconData folder_delete_sharp = IconData(0xf0412, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">folder_delete</i> &#x2014; material icon named "folder delete" (round).
  static const IconData folder_delete_rounded = IconData(0xf031f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">folder_delete</i> &#x2014; material icon named "folder delete" (outlined).
  static const IconData folder_delete_outlined = IconData(0xf0600, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">folder_off</i> &#x2014; material icon named "folder off".
  static const IconData folder_off = IconData(0xf0508, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">folder_off</i> &#x2014; material icon named "folder off" (sharp).
  static const IconData folder_off_sharp = IconData(0xf0413, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">folder_off</i> &#x2014; material icon named "folder off" (round).
  static const IconData folder_off_rounded = IconData(0xf0320, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">folder_off</i> &#x2014; material icon named "folder off" (outlined).
  static const IconData folder_off_outlined = IconData(0xf0601, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">folder_open</i> &#x2014; material icon named "folder open".
  static const IconData folder_open = IconData(0xe2a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">folder_open</i> &#x2014; material icon named "folder open" (sharp).
  static const IconData folder_open_sharp = IconData(0xe99e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">folder_open</i> &#x2014; material icon named "folder open" (round).
  static const IconData folder_open_rounded = IconData(0xf77d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">folder_open</i> &#x2014; material icon named "folder open" (outlined).
  static const IconData folder_open_outlined = IconData(0xf090, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">folder_shared</i> &#x2014; material icon named "folder shared".
  static const IconData folder_shared = IconData(0xe2a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">folder_shared</i> &#x2014; material icon named "folder shared" (sharp).
  static const IconData folder_shared_sharp = IconData(0xe99f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">folder_shared</i> &#x2014; material icon named "folder shared" (round).
  static const IconData folder_shared_rounded = IconData(0xf77f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">folder_shared</i> &#x2014; material icon named "folder shared" (outlined).
  static const IconData folder_shared_outlined = IconData(0xf092, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">folder_special</i> &#x2014; material icon named "folder special".
  static const IconData folder_special = IconData(0xe2a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">folder_special</i> &#x2014; material icon named "folder special" (sharp).
  static const IconData folder_special_sharp = IconData(0xe9a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">folder_special</i> &#x2014; material icon named "folder special" (round).
  static const IconData folder_special_rounded = IconData(0xf780, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">folder_special</i> &#x2014; material icon named "folder special" (outlined).
  static const IconData folder_special_outlined = IconData(0xf093, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">folder_zip</i> &#x2014; material icon named "folder zip".
  static const IconData folder_zip = IconData(0xf0509, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">folder_zip</i> &#x2014; material icon named "folder zip" (sharp).
  static const IconData folder_zip_sharp = IconData(0xf0414, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">folder_zip</i> &#x2014; material icon named "folder zip" (round).
  static const IconData folder_zip_rounded = IconData(0xf0321, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">folder_zip</i> &#x2014; material icon named "folder zip" (outlined).
  static const IconData folder_zip_outlined = IconData(0xf0602, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">follow_the_signs</i> &#x2014; material icon named "follow the signs".
  static const IconData follow_the_signs = IconData(0xe2a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">follow_the_signs</i> &#x2014; material icon named "follow the signs" (sharp).
  static const IconData follow_the_signs_sharp = IconData(0xe9a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">follow_the_signs</i> &#x2014; material icon named "follow the signs" (round).
  static const IconData follow_the_signs_rounded = IconData(0xf781, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">follow_the_signs</i> &#x2014; material icon named "follow the signs" (outlined).
  static const IconData follow_the_signs_outlined = IconData(0xf094, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">font_download</i> &#x2014; material icon named "font download".
  static const IconData font_download = IconData(0xe2a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">font_download</i> &#x2014; material icon named "font download" (sharp).
  static const IconData font_download_sharp = IconData(0xe9a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">font_download</i> &#x2014; material icon named "font download" (round).
  static const IconData font_download_rounded = IconData(0xf783, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">font_download</i> &#x2014; material icon named "font download" (outlined).
  static const IconData font_download_outlined = IconData(0xf096, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">font_download_off</i> &#x2014; material icon named "font download off".
  static const IconData font_download_off = IconData(0xe2a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">font_download_off</i> &#x2014; material icon named "font download off" (sharp).
  static const IconData font_download_off_sharp = IconData(0xe9a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">font_download_off</i> &#x2014; material icon named "font download off" (round).
  static const IconData font_download_off_rounded = IconData(0xf782, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">font_download_off</i> &#x2014; material icon named "font download off" (outlined).
  static const IconData font_download_off_outlined = IconData(0xf095, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">food_bank</i> &#x2014; material icon named "food bank".
  static const IconData food_bank = IconData(0xe2aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">food_bank</i> &#x2014; material icon named "food bank" (sharp).
  static const IconData food_bank_sharp = IconData(0xe9a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">food_bank</i> &#x2014; material icon named "food bank" (round).
  static const IconData food_bank_rounded = IconData(0xf784, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">food_bank</i> &#x2014; material icon named "food bank" (outlined).
  static const IconData food_bank_outlined = IconData(0xf097, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">forest</i> &#x2014; material icon named "forest".
  static const IconData forest = IconData(0xf050a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">forest</i> &#x2014; material icon named "forest" (sharp).
  static const IconData forest_sharp = IconData(0xf0415, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">forest</i> &#x2014; material icon named "forest" (round).
  static const IconData forest_rounded = IconData(0xf0322, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">forest</i> &#x2014; material icon named "forest" (outlined).
  static const IconData forest_outlined = IconData(0xf0603, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fork_left</i> &#x2014; material icon named "fork left".
  static const IconData fork_left = IconData(0xf050b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fork_left</i> &#x2014; material icon named "fork left" (sharp).
  static const IconData fork_left_sharp = IconData(0xf0416, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fork_left</i> &#x2014; material icon named "fork left" (round).
  static const IconData fork_left_rounded = IconData(0xf0323, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fork_left</i> &#x2014; material icon named "fork left" (outlined).
  static const IconData fork_left_outlined = IconData(0xf0604, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fork_right</i> &#x2014; material icon named "fork right".
  static const IconData fork_right = IconData(0xf050c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fork_right</i> &#x2014; material icon named "fork right" (sharp).
  static const IconData fork_right_sharp = IconData(0xf0417, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fork_right</i> &#x2014; material icon named "fork right" (round).
  static const IconData fork_right_rounded = IconData(0xf0324, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fork_right</i> &#x2014; material icon named "fork right" (outlined).
  static const IconData fork_right_outlined = IconData(0xf0605, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">forklift</i> &#x2014; material icon named "forklift".
  static const IconData forklift = IconData(0xf0866, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_align_center</i> &#x2014; material icon named "format align center".
  static const IconData format_align_center = IconData(0xe2ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_align_center</i> &#x2014; material icon named "format align center" (sharp).
  static const IconData format_align_center_sharp = IconData(0xe9a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_align_center</i> &#x2014; material icon named "format align center" (round).
  static const IconData format_align_center_rounded = IconData(0xf785, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_align_center</i> &#x2014; material icon named "format align center" (outlined).
  static const IconData format_align_center_outlined = IconData(0xf098, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_align_justify</i> &#x2014; material icon named "format align justify".
  static const IconData format_align_justify = IconData(0xe2ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_align_justify</i> &#x2014; material icon named "format align justify" (sharp).
  static const IconData format_align_justify_sharp = IconData(0xe9a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_align_justify</i> &#x2014; material icon named "format align justify" (round).
  static const IconData format_align_justify_rounded = IconData(0xf786, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_align_justify</i> &#x2014; material icon named "format align justify" (outlined).
  static const IconData format_align_justify_outlined = IconData(0xf099, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_align_left</i> &#x2014; material icon named "format align left".
  static const IconData format_align_left = IconData(0xe2ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_align_left</i> &#x2014; material icon named "format align left" (sharp).
  static const IconData format_align_left_sharp = IconData(0xe9a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_align_left</i> &#x2014; material icon named "format align left" (round).
  static const IconData format_align_left_rounded = IconData(0xf787, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_align_left</i> &#x2014; material icon named "format align left" (outlined).
  static const IconData format_align_left_outlined = IconData(0xf09a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_align_right</i> &#x2014; material icon named "format align right".
  static const IconData format_align_right = IconData(0xe2ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_align_right</i> &#x2014; material icon named "format align right" (sharp).
  static const IconData format_align_right_sharp = IconData(0xe9a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_align_right</i> &#x2014; material icon named "format align right" (round).
  static const IconData format_align_right_rounded = IconData(0xf788, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_align_right</i> &#x2014; material icon named "format align right" (outlined).
  static const IconData format_align_right_outlined = IconData(0xf09b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_bold</i> &#x2014; material icon named "format bold".
  static const IconData format_bold = IconData(0xe2af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_bold</i> &#x2014; material icon named "format bold" (sharp).
  static const IconData format_bold_sharp = IconData(0xe9aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_bold</i> &#x2014; material icon named "format bold" (round).
  static const IconData format_bold_rounded = IconData(0xf789, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_bold</i> &#x2014; material icon named "format bold" (outlined).
  static const IconData format_bold_outlined = IconData(0xf09c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_clear</i> &#x2014; material icon named "format clear".
  static const IconData format_clear = IconData(0xe2b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_clear</i> &#x2014; material icon named "format clear" (sharp).
  static const IconData format_clear_sharp = IconData(0xe9ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_clear</i> &#x2014; material icon named "format clear" (round).
  static const IconData format_clear_rounded = IconData(0xf78a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_clear</i> &#x2014; material icon named "format clear" (outlined).
  static const IconData format_clear_outlined = IconData(0xf09d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_color_fill</i> &#x2014; material icon named "format color fill".
  static const IconData format_color_fill = IconData(0xe2b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_color_fill</i> &#x2014; material icon named "format color fill" (sharp).
  static const IconData format_color_fill_sharp = IconData(0xe9ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_color_fill</i> &#x2014; material icon named "format color fill" (round).
  static const IconData format_color_fill_rounded = IconData(0xf78b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_color_fill</i> &#x2014; material icon named "format color fill" (outlined).
  static const IconData format_color_fill_outlined = IconData(0xf09e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_color_reset</i> &#x2014; material icon named "format color reset".
  static const IconData format_color_reset = IconData(0xe2b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_color_reset</i> &#x2014; material icon named "format color reset" (sharp).
  static const IconData format_color_reset_sharp = IconData(0xe9ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_color_reset</i> &#x2014; material icon named "format color reset" (round).
  static const IconData format_color_reset_rounded = IconData(0xf78c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_color_reset</i> &#x2014; material icon named "format color reset" (outlined).
  static const IconData format_color_reset_outlined = IconData(0xf09f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_color_text</i> &#x2014; material icon named "format color text".
  static const IconData format_color_text = IconData(0xe2b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_color_text</i> &#x2014; material icon named "format color text" (sharp).
  static const IconData format_color_text_sharp = IconData(0xe9ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_color_text</i> &#x2014; material icon named "format color text" (round).
  static const IconData format_color_text_rounded = IconData(0xf78d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_color_text</i> &#x2014; material icon named "format color text" (outlined).
  static const IconData format_color_text_outlined = IconData(0xf0a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_indent_decrease</i> &#x2014; material icon named "format indent decrease".
  static const IconData format_indent_decrease = IconData(0xe2b4, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">format_indent_decrease</i> &#x2014; material icon named "format indent decrease" (sharp).
  static const IconData format_indent_decrease_sharp = IconData(0xe9af, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">format_indent_decrease</i> &#x2014; material icon named "format indent decrease" (round).
  static const IconData format_indent_decrease_rounded = IconData(0xf78e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">format_indent_decrease</i> &#x2014; material icon named "format indent decrease" (outlined).
  static const IconData format_indent_decrease_outlined = IconData(0xf0a1, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">format_indent_increase</i> &#x2014; material icon named "format indent increase".
  static const IconData format_indent_increase = IconData(0xe2b5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">format_indent_increase</i> &#x2014; material icon named "format indent increase" (sharp).
  static const IconData format_indent_increase_sharp = IconData(0xe9b0, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">format_indent_increase</i> &#x2014; material icon named "format indent increase" (round).
  static const IconData format_indent_increase_rounded = IconData(0xf78f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">format_indent_increase</i> &#x2014; material icon named "format indent increase" (outlined).
  static const IconData format_indent_increase_outlined = IconData(0xf0a2, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">format_italic</i> &#x2014; material icon named "format italic".
  static const IconData format_italic = IconData(0xe2b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_italic</i> &#x2014; material icon named "format italic" (sharp).
  static const IconData format_italic_sharp = IconData(0xe9b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_italic</i> &#x2014; material icon named "format italic" (round).
  static const IconData format_italic_rounded = IconData(0xf790, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_italic</i> &#x2014; material icon named "format italic" (outlined).
  static const IconData format_italic_outlined = IconData(0xf0a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_line_spacing</i> &#x2014; material icon named "format line spacing".
  static const IconData format_line_spacing = IconData(0xe2b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_line_spacing</i> &#x2014; material icon named "format line spacing" (sharp).
  static const IconData format_line_spacing_sharp = IconData(0xe9b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_line_spacing</i> &#x2014; material icon named "format line spacing" (round).
  static const IconData format_line_spacing_rounded = IconData(0xf791, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_line_spacing</i> &#x2014; material icon named "format line spacing" (outlined).
  static const IconData format_line_spacing_outlined = IconData(0xf0a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_list_bulleted</i> &#x2014; material icon named "format list bulleted".
  static const IconData format_list_bulleted = IconData(0xe2b8, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">format_list_bulleted</i> &#x2014; material icon named "format list bulleted" (sharp).
  static const IconData format_list_bulleted_sharp = IconData(0xe9b3, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">format_list_bulleted</i> &#x2014; material icon named "format list bulleted" (round).
  static const IconData format_list_bulleted_rounded = IconData(0xf792, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">format_list_bulleted</i> &#x2014; material icon named "format list bulleted" (outlined).
  static const IconData format_list_bulleted_outlined = IconData(0xf0a5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">format_list_bulleted_add</i> &#x2014; material icon named "format list bulleted add".
  static const IconData format_list_bulleted_add = IconData(0xf0867, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_list_numbered</i> &#x2014; material icon named "format list numbered".
  static const IconData format_list_numbered = IconData(0xe2b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_list_numbered</i> &#x2014; material icon named "format list numbered" (sharp).
  static const IconData format_list_numbered_sharp = IconData(0xe9b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_list_numbered</i> &#x2014; material icon named "format list numbered" (round).
  static const IconData format_list_numbered_rounded = IconData(0xf793, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_list_numbered</i> &#x2014; material icon named "format list numbered" (outlined).
  static const IconData format_list_numbered_outlined = IconData(0xf0a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_list_numbered_rtl</i> &#x2014; material icon named "format list numbered rtl".
  static const IconData format_list_numbered_rtl = IconData(0xe2ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_list_numbered_rtl</i> &#x2014; material icon named "format list numbered rtl" (sharp).
  static const IconData format_list_numbered_rtl_sharp = IconData(0xe9b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_list_numbered_rtl</i> &#x2014; material icon named "format list numbered rtl" (round).
  static const IconData format_list_numbered_rtl_rounded = IconData(0xf794, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_list_numbered_rtl</i> &#x2014; material icon named "format list numbered rtl" (outlined).
  static const IconData format_list_numbered_rtl_outlined = IconData(0xf0a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_overline</i> &#x2014; material icon named "format overline".
  static const IconData format_overline = IconData(0xf050d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_overline</i> &#x2014; material icon named "format overline" (sharp).
  static const IconData format_overline_sharp = IconData(0xf0418, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_overline</i> &#x2014; material icon named "format overline" (round).
  static const IconData format_overline_rounded = IconData(0xf0325, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_overline</i> &#x2014; material icon named "format overline" (outlined).
  static const IconData format_overline_outlined = IconData(0xf0606, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_paint</i> &#x2014; material icon named "format paint".
  static const IconData format_paint = IconData(0xe2bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_paint</i> &#x2014; material icon named "format paint" (sharp).
  static const IconData format_paint_sharp = IconData(0xe9b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_paint</i> &#x2014; material icon named "format paint" (round).
  static const IconData format_paint_rounded = IconData(0xf795, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_paint</i> &#x2014; material icon named "format paint" (outlined).
  static const IconData format_paint_outlined = IconData(0xf0a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_quote</i> &#x2014; material icon named "format quote".
  static const IconData format_quote = IconData(0xe2bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_quote</i> &#x2014; material icon named "format quote" (sharp).
  static const IconData format_quote_sharp = IconData(0xe9b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_quote</i> &#x2014; material icon named "format quote" (round).
  static const IconData format_quote_rounded = IconData(0xf796, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_quote</i> &#x2014; material icon named "format quote" (outlined).
  static const IconData format_quote_outlined = IconData(0xf0a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_shapes</i> &#x2014; material icon named "format shapes".
  static const IconData format_shapes = IconData(0xe2bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_shapes</i> &#x2014; material icon named "format shapes" (sharp).
  static const IconData format_shapes_sharp = IconData(0xe9b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_shapes</i> &#x2014; material icon named "format shapes" (round).
  static const IconData format_shapes_rounded = IconData(0xf797, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_shapes</i> &#x2014; material icon named "format shapes" (outlined).
  static const IconData format_shapes_outlined = IconData(0xf0aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_size</i> &#x2014; material icon named "format size".
  static const IconData format_size = IconData(0xe2be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_size</i> &#x2014; material icon named "format size" (sharp).
  static const IconData format_size_sharp = IconData(0xe9b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_size</i> &#x2014; material icon named "format size" (round).
  static const IconData format_size_rounded = IconData(0xf798, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_size</i> &#x2014; material icon named "format size" (outlined).
  static const IconData format_size_outlined = IconData(0xf0ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_strikethrough</i> &#x2014; material icon named "format strikethrough".
  static const IconData format_strikethrough = IconData(0xe2bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_strikethrough</i> &#x2014; material icon named "format strikethrough" (sharp).
  static const IconData format_strikethrough_sharp = IconData(0xe9ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_strikethrough</i> &#x2014; material icon named "format strikethrough" (round).
  static const IconData format_strikethrough_rounded = IconData(0xf799, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_strikethrough</i> &#x2014; material icon named "format strikethrough" (outlined).
  static const IconData format_strikethrough_outlined = IconData(0xf0ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_textdirection_l_to_r</i> &#x2014; material icon named "format textdirection l to r".
  static const IconData format_textdirection_l_to_r = IconData(0xe2c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_textdirection_l_to_r</i> &#x2014; material icon named "format textdirection l to r" (sharp).
  static const IconData format_textdirection_l_to_r_sharp = IconData(0xe9bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_textdirection_l_to_r</i> &#x2014; material icon named "format textdirection l to r" (round).
  static const IconData format_textdirection_l_to_r_rounded = IconData(0xf79a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_textdirection_l_to_r</i> &#x2014; material icon named "format textdirection l to r" (outlined).
  static const IconData format_textdirection_l_to_r_outlined = IconData(0xf0ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_textdirection_r_to_l</i> &#x2014; material icon named "format textdirection r to l".
  static const IconData format_textdirection_r_to_l = IconData(0xe2c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_textdirection_r_to_l</i> &#x2014; material icon named "format textdirection r to l" (sharp).
  static const IconData format_textdirection_r_to_l_sharp = IconData(0xe9bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_textdirection_r_to_l</i> &#x2014; material icon named "format textdirection r to l" (round).
  static const IconData format_textdirection_r_to_l_rounded = IconData(0xf79b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_textdirection_r_to_l</i> &#x2014; material icon named "format textdirection r to l" (outlined).
  static const IconData format_textdirection_r_to_l_outlined = IconData(0xf0ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_underline</i> &#x2014; material icon named "format underline".
  static const IconData format_underline = IconData(0xe2c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_underline</i> &#x2014; material icon named "format underline" (sharp).
  static const IconData format_underline_sharp = IconData(0xe9bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_underline</i> &#x2014; material icon named "format underline" (round).
  static const IconData format_underline_rounded = IconData(0xf79c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_underline</i> &#x2014; material icon named "format underline" (outlined).
  static const IconData format_underline_outlined = IconData(0xf0af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_underlined</i> &#x2014; material icon named "format underlined".
  static const IconData format_underlined = IconData(0xe2c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_underlined</i> &#x2014; material icon named "format underlined" (sharp).
  static const IconData format_underlined_sharp = IconData(0xe9bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_underlined</i> &#x2014; material icon named "format underlined" (round).
  static const IconData format_underlined_rounded = IconData(0xf79c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_underlined</i> &#x2014; material icon named "format underlined" (outlined).
  static const IconData format_underlined_outlined = IconData(0xf0af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fort</i> &#x2014; material icon named "fort".
  static const IconData fort = IconData(0xf050e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fort</i> &#x2014; material icon named "fort" (sharp).
  static const IconData fort_sharp = IconData(0xf0419, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fort</i> &#x2014; material icon named "fort" (round).
  static const IconData fort_rounded = IconData(0xf0326, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fort</i> &#x2014; material icon named "fort" (outlined).
  static const IconData fort_outlined = IconData(0xf0607, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">forum</i> &#x2014; material icon named "forum".
  static const IconData forum = IconData(0xe2c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">forum</i> &#x2014; material icon named "forum" (sharp).
  static const IconData forum_sharp = IconData(0xe9be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">forum</i> &#x2014; material icon named "forum" (round).
  static const IconData forum_rounded = IconData(0xf79d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">forum</i> &#x2014; material icon named "forum" (outlined).
  static const IconData forum_outlined = IconData(0xf0b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">forward</i> &#x2014; material icon named "forward".
  static const IconData forward = IconData(0xe2c4, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">forward</i> &#x2014; material icon named "forward" (sharp).
  static const IconData forward_sharp = IconData(0xe9c2, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">forward</i> &#x2014; material icon named "forward" (round).
  static const IconData forward_rounded = IconData(0xf7a1, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">forward</i> &#x2014; material icon named "forward" (outlined).
  static const IconData forward_outlined = IconData(0xf0b4, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">forward_10</i> &#x2014; material icon named "forward 10".
  static const IconData forward_10 = IconData(0xe2c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">forward_10</i> &#x2014; material icon named "forward 10" (sharp).
  static const IconData forward_10_sharp = IconData(0xe9bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">forward_10</i> &#x2014; material icon named "forward 10" (round).
  static const IconData forward_10_rounded = IconData(0xf79e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">forward_10</i> &#x2014; material icon named "forward 10" (outlined).
  static const IconData forward_10_outlined = IconData(0xf0b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">forward_30</i> &#x2014; material icon named "forward 30".
  static const IconData forward_30 = IconData(0xe2c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">forward_30</i> &#x2014; material icon named "forward 30" (sharp).
  static const IconData forward_30_sharp = IconData(0xe9c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">forward_30</i> &#x2014; material icon named "forward 30" (round).
  static const IconData forward_30_rounded = IconData(0xf79f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">forward_30</i> &#x2014; material icon named "forward 30" (outlined).
  static const IconData forward_30_outlined = IconData(0xf0b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">forward_5</i> &#x2014; material icon named "forward 5".
  static const IconData forward_5 = IconData(0xe2c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">forward_5</i> &#x2014; material icon named "forward 5" (sharp).
  static const IconData forward_5_sharp = IconData(0xe9c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">forward_5</i> &#x2014; material icon named "forward 5" (round).
  static const IconData forward_5_rounded = IconData(0xf7a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">forward_5</i> &#x2014; material icon named "forward 5" (outlined).
  static const IconData forward_5_outlined = IconData(0xf0b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">forward_to_inbox</i> &#x2014; material icon named "forward to inbox".
  static const IconData forward_to_inbox = IconData(0xe2c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">forward_to_inbox</i> &#x2014; material icon named "forward to inbox" (sharp).
  static const IconData forward_to_inbox_sharp = IconData(0xe9c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">forward_to_inbox</i> &#x2014; material icon named "forward to inbox" (round).
  static const IconData forward_to_inbox_rounded = IconData(0xf7a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">forward_to_inbox</i> &#x2014; material icon named "forward to inbox" (outlined).
  static const IconData forward_to_inbox_outlined = IconData(0xf0b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">foundation</i> &#x2014; material icon named "foundation".
  static const IconData foundation = IconData(0xe2c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">foundation</i> &#x2014; material icon named "foundation" (sharp).
  static const IconData foundation_sharp = IconData(0xe9c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">foundation</i> &#x2014; material icon named "foundation" (round).
  static const IconData foundation_rounded = IconData(0xf7a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">foundation</i> &#x2014; material icon named "foundation" (outlined).
  static const IconData foundation_outlined = IconData(0xf0b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">free_breakfast</i> &#x2014; material icon named "free breakfast".
  static const IconData free_breakfast = IconData(0xe2ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">free_breakfast</i> &#x2014; material icon named "free breakfast" (sharp).
  static const IconData free_breakfast_sharp = IconData(0xe9c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">free_breakfast</i> &#x2014; material icon named "free breakfast" (round).
  static const IconData free_breakfast_rounded = IconData(0xf7a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">free_breakfast</i> &#x2014; material icon named "free breakfast" (outlined).
  static const IconData free_breakfast_outlined = IconData(0xf0b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">free_cancellation</i> &#x2014; material icon named "free cancellation".
  static const IconData free_cancellation = IconData(0xf050f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">free_cancellation</i> &#x2014; material icon named "free cancellation" (sharp).
  static const IconData free_cancellation_sharp = IconData(0xf041a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">free_cancellation</i> &#x2014; material icon named "free cancellation" (round).
  static const IconData free_cancellation_rounded = IconData(0xf0327, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">free_cancellation</i> &#x2014; material icon named "free cancellation" (outlined).
  static const IconData free_cancellation_outlined = IconData(0xf0608, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">front_hand</i> &#x2014; material icon named "front hand".
  static const IconData front_hand = IconData(0xf0510, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">front_hand</i> &#x2014; material icon named "front hand" (sharp).
  static const IconData front_hand_sharp = IconData(0xf041b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">front_hand</i> &#x2014; material icon named "front hand" (round).
  static const IconData front_hand_rounded = IconData(0xf0328, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">front_hand</i> &#x2014; material icon named "front hand" (outlined).
  static const IconData front_hand_outlined = IconData(0xf0609, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">front_loader</i> &#x2014; material icon named "front loader".
  static const IconData front_loader = IconData(0xf0868, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fullscreen</i> &#x2014; material icon named "fullscreen".
  static const IconData fullscreen = IconData(0xe2cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fullscreen</i> &#x2014; material icon named "fullscreen" (sharp).
  static const IconData fullscreen_sharp = IconData(0xe9c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fullscreen</i> &#x2014; material icon named "fullscreen" (round).
  static const IconData fullscreen_rounded = IconData(0xf7a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fullscreen</i> &#x2014; material icon named "fullscreen" (outlined).
  static const IconData fullscreen_outlined = IconData(0xf0b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fullscreen_exit</i> &#x2014; material icon named "fullscreen exit".
  static const IconData fullscreen_exit = IconData(0xe2cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fullscreen_exit</i> &#x2014; material icon named "fullscreen exit" (sharp).
  static const IconData fullscreen_exit_sharp = IconData(0xe9c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fullscreen_exit</i> &#x2014; material icon named "fullscreen exit" (round).
  static const IconData fullscreen_exit_rounded = IconData(0xf7a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fullscreen_exit</i> &#x2014; material icon named "fullscreen exit" (outlined).
  static const IconData fullscreen_exit_outlined = IconData(0xf0b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">functions</i> &#x2014; material icon named "functions".
  static const IconData functions = IconData(0xe2cd, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">functions</i> &#x2014; material icon named "functions" (sharp).
  static const IconData functions_sharp = IconData(0xe9c8, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">functions</i> &#x2014; material icon named "functions" (round).
  static const IconData functions_rounded = IconData(0xf7a7, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">functions</i> &#x2014; material icon named "functions" (outlined).
  static const IconData functions_outlined = IconData(0xf0ba, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">g_mobiledata</i> &#x2014; material icon named "g mobiledata".
  static const IconData g_mobiledata = IconData(0xe2ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">g_mobiledata</i> &#x2014; material icon named "g mobiledata" (sharp).
  static const IconData g_mobiledata_sharp = IconData(0xe9c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">g_mobiledata</i> &#x2014; material icon named "g mobiledata" (round).
  static const IconData g_mobiledata_rounded = IconData(0xf7a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">g_mobiledata</i> &#x2014; material icon named "g mobiledata" (outlined).
  static const IconData g_mobiledata_outlined = IconData(0xf0bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">g_translate</i> &#x2014; material icon named "g translate".
  static const IconData g_translate = IconData(0xe2cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">g_translate</i> &#x2014; material icon named "g translate" (sharp).
  static const IconData g_translate_sharp = IconData(0xe9ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">g_translate</i> &#x2014; material icon named "g translate" (round).
  static const IconData g_translate_rounded = IconData(0xf7a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">g_translate</i> &#x2014; material icon named "g translate" (outlined).
  static const IconData g_translate_outlined = IconData(0xf0bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gamepad</i> &#x2014; material icon named "gamepad".
  static const IconData gamepad = IconData(0xe2d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gamepad</i> &#x2014; material icon named "gamepad" (sharp).
  static const IconData gamepad_sharp = IconData(0xe9cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gamepad</i> &#x2014; material icon named "gamepad" (round).
  static const IconData gamepad_rounded = IconData(0xf7aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gamepad</i> &#x2014; material icon named "gamepad" (outlined).
  static const IconData gamepad_outlined = IconData(0xf0bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">games</i> &#x2014; material icon named "games".
  static const IconData games = IconData(0xe2d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">games</i> &#x2014; material icon named "games" (sharp).
  static const IconData games_sharp = IconData(0xe9cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">games</i> &#x2014; material icon named "games" (round).
  static const IconData games_rounded = IconData(0xf7ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">games</i> &#x2014; material icon named "games" (outlined).
  static const IconData games_outlined = IconData(0xf0be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">garage</i> &#x2014; material icon named "garage".
  static const IconData garage = IconData(0xe2d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">garage</i> &#x2014; material icon named "garage" (sharp).
  static const IconData garage_sharp = IconData(0xe9cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">garage</i> &#x2014; material icon named "garage" (round).
  static const IconData garage_rounded = IconData(0xf7ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">garage</i> &#x2014; material icon named "garage" (outlined).
  static const IconData garage_outlined = IconData(0xf0bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gas_meter</i> &#x2014; material icon named "gas meter".
  static const IconData gas_meter = IconData(0xf07a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gas_meter</i> &#x2014; material icon named "gas meter" (sharp).
  static const IconData gas_meter_sharp = IconData(0xf074c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gas_meter</i> &#x2014; material icon named "gas meter" (round).
  static const IconData gas_meter_rounded = IconData(0xf07fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gas_meter</i> &#x2014; material icon named "gas meter" (outlined).
  static const IconData gas_meter_outlined = IconData(0xf06f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gavel</i> &#x2014; material icon named "gavel".
  static const IconData gavel = IconData(0xe2d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gavel</i> &#x2014; material icon named "gavel" (sharp).
  static const IconData gavel_sharp = IconData(0xe9ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gavel</i> &#x2014; material icon named "gavel" (round).
  static const IconData gavel_rounded = IconData(0xf7ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gavel</i> &#x2014; material icon named "gavel" (outlined).
  static const IconData gavel_outlined = IconData(0xf0c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">generating_tokens</i> &#x2014; material icon named "generating tokens".
  static const IconData generating_tokens = IconData(0xf0511, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">generating_tokens</i> &#x2014; material icon named "generating tokens" (sharp).
  static const IconData generating_tokens_sharp = IconData(0xf041c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">generating_tokens</i> &#x2014; material icon named "generating tokens" (round).
  static const IconData generating_tokens_rounded = IconData(0xf0329, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">generating_tokens</i> &#x2014; material icon named "generating tokens" (outlined).
  static const IconData generating_tokens_outlined = IconData(0xf060a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gesture</i> &#x2014; material icon named "gesture".
  static const IconData gesture = IconData(0xe2d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gesture</i> &#x2014; material icon named "gesture" (sharp).
  static const IconData gesture_sharp = IconData(0xe9cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gesture</i> &#x2014; material icon named "gesture" (round).
  static const IconData gesture_rounded = IconData(0xf7ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gesture</i> &#x2014; material icon named "gesture" (outlined).
  static const IconData gesture_outlined = IconData(0xf0c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">get_app</i> &#x2014; material icon named "get app".
  static const IconData get_app = IconData(0xe2d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">get_app</i> &#x2014; material icon named "get app" (sharp).
  static const IconData get_app_sharp = IconData(0xe9d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">get_app</i> &#x2014; material icon named "get app" (round).
  static const IconData get_app_rounded = IconData(0xf7af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">get_app</i> &#x2014; material icon named "get app" (outlined).
  static const IconData get_app_outlined = IconData(0xf0c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gif</i> &#x2014; material icon named "gif".
  static const IconData gif = IconData(0xe2d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gif</i> &#x2014; material icon named "gif" (sharp).
  static const IconData gif_sharp = IconData(0xe9d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gif</i> &#x2014; material icon named "gif" (round).
  static const IconData gif_rounded = IconData(0xf7b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gif</i> &#x2014; material icon named "gif" (outlined).
  static const IconData gif_outlined = IconData(0xf0c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gif_box</i> &#x2014; material icon named "gif box".
  static const IconData gif_box = IconData(0xf0512, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gif_box</i> &#x2014; material icon named "gif box" (sharp).
  static const IconData gif_box_sharp = IconData(0xf041d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gif_box</i> &#x2014; material icon named "gif box" (round).
  static const IconData gif_box_rounded = IconData(0xf032a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gif_box</i> &#x2014; material icon named "gif box" (outlined).
  static const IconData gif_box_outlined = IconData(0xf060b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">girl</i> &#x2014; material icon named "girl".
  static const IconData girl = IconData(0xf0513, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">girl</i> &#x2014; material icon named "girl" (sharp).
  static const IconData girl_sharp = IconData(0xf041e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">girl</i> &#x2014; material icon named "girl" (round).
  static const IconData girl_rounded = IconData(0xf032b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">girl</i> &#x2014; material icon named "girl" (outlined).
  static const IconData girl_outlined = IconData(0xf060c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gite</i> &#x2014; material icon named "gite".
  static const IconData gite = IconData(0xe2d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gite</i> &#x2014; material icon named "gite" (sharp).
  static const IconData gite_sharp = IconData(0xe9d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gite</i> &#x2014; material icon named "gite" (round).
  static const IconData gite_rounded = IconData(0xf7b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gite</i> &#x2014; material icon named "gite" (outlined).
  static const IconData gite_outlined = IconData(0xf0c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">golf_course</i> &#x2014; material icon named "golf course".
  static const IconData golf_course = IconData(0xe2d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">golf_course</i> &#x2014; material icon named "golf course" (sharp).
  static const IconData golf_course_sharp = IconData(0xe9d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">golf_course</i> &#x2014; material icon named "golf course" (round).
  static const IconData golf_course_rounded = IconData(0xf7b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">golf_course</i> &#x2014; material icon named "golf course" (outlined).
  static const IconData golf_course_outlined = IconData(0xf0c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gpp_bad</i> &#x2014; material icon named "gpp bad".
  static const IconData gpp_bad = IconData(0xe2d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gpp_bad</i> &#x2014; material icon named "gpp bad" (sharp).
  static const IconData gpp_bad_sharp = IconData(0xe9d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gpp_bad</i> &#x2014; material icon named "gpp bad" (round).
  static const IconData gpp_bad_rounded = IconData(0xf7b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gpp_bad</i> &#x2014; material icon named "gpp bad" (outlined).
  static const IconData gpp_bad_outlined = IconData(0xf0c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gpp_good</i> &#x2014; material icon named "gpp good".
  static const IconData gpp_good = IconData(0xe2da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gpp_good</i> &#x2014; material icon named "gpp good" (sharp).
  static const IconData gpp_good_sharp = IconData(0xe9d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gpp_good</i> &#x2014; material icon named "gpp good" (round).
  static const IconData gpp_good_rounded = IconData(0xf7b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gpp_good</i> &#x2014; material icon named "gpp good" (outlined).
  static const IconData gpp_good_outlined = IconData(0xf0c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gpp_maybe</i> &#x2014; material icon named "gpp maybe".
  static const IconData gpp_maybe = IconData(0xe2db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gpp_maybe</i> &#x2014; material icon named "gpp maybe" (sharp).
  static const IconData gpp_maybe_sharp = IconData(0xe9d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gpp_maybe</i> &#x2014; material icon named "gpp maybe" (round).
  static const IconData gpp_maybe_rounded = IconData(0xf7b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gpp_maybe</i> &#x2014; material icon named "gpp maybe" (outlined).
  static const IconData gpp_maybe_outlined = IconData(0xf0c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gps_fixed</i> &#x2014; material icon named "gps fixed".
  static const IconData gps_fixed = IconData(0xe2dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gps_fixed</i> &#x2014; material icon named "gps fixed" (sharp).
  static const IconData gps_fixed_sharp = IconData(0xe9d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gps_fixed</i> &#x2014; material icon named "gps fixed" (round).
  static const IconData gps_fixed_rounded = IconData(0xf7b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gps_fixed</i> &#x2014; material icon named "gps fixed" (outlined).
  static const IconData gps_fixed_outlined = IconData(0xf0c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gps_not_fixed</i> &#x2014; material icon named "gps not fixed".
  static const IconData gps_not_fixed = IconData(0xe2dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gps_not_fixed</i> &#x2014; material icon named "gps not fixed" (sharp).
  static const IconData gps_not_fixed_sharp = IconData(0xe9d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gps_not_fixed</i> &#x2014; material icon named "gps not fixed" (round).
  static const IconData gps_not_fixed_rounded = IconData(0xf7b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gps_not_fixed</i> &#x2014; material icon named "gps not fixed" (outlined).
  static const IconData gps_not_fixed_outlined = IconData(0xf0ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gps_off</i> &#x2014; material icon named "gps off".
  static const IconData gps_off = IconData(0xe2de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gps_off</i> &#x2014; material icon named "gps off" (sharp).
  static const IconData gps_off_sharp = IconData(0xe9d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gps_off</i> &#x2014; material icon named "gps off" (round).
  static const IconData gps_off_rounded = IconData(0xf7b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gps_off</i> &#x2014; material icon named "gps off" (outlined).
  static const IconData gps_off_outlined = IconData(0xf0cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">grade</i> &#x2014; material icon named "grade".
  static const IconData grade = IconData(0xe2df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">grade</i> &#x2014; material icon named "grade" (sharp).
  static const IconData grade_sharp = IconData(0xe9da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">grade</i> &#x2014; material icon named "grade" (round).
  static const IconData grade_rounded = IconData(0xf7b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">grade</i> &#x2014; material icon named "grade" (outlined).
  static const IconData grade_outlined = IconData(0xf0cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gradient</i> &#x2014; material icon named "gradient".
  static const IconData gradient = IconData(0xe2e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gradient</i> &#x2014; material icon named "gradient" (sharp).
  static const IconData gradient_sharp = IconData(0xe9db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gradient</i> &#x2014; material icon named "gradient" (round).
  static const IconData gradient_rounded = IconData(0xf7ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gradient</i> &#x2014; material icon named "gradient" (outlined).
  static const IconData gradient_outlined = IconData(0xf0cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">grading</i> &#x2014; material icon named "grading".
  static const IconData grading = IconData(0xe2e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">grading</i> &#x2014; material icon named "grading" (sharp).
  static const IconData grading_sharp = IconData(0xe9dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">grading</i> &#x2014; material icon named "grading" (round).
  static const IconData grading_rounded = IconData(0xf7bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">grading</i> &#x2014; material icon named "grading" (outlined).
  static const IconData grading_outlined = IconData(0xf0ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">grain</i> &#x2014; material icon named "grain".
  static const IconData grain = IconData(0xe2e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">grain</i> &#x2014; material icon named "grain" (sharp).
  static const IconData grain_sharp = IconData(0xe9dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">grain</i> &#x2014; material icon named "grain" (round).
  static const IconData grain_rounded = IconData(0xf7bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">grain</i> &#x2014; material icon named "grain" (outlined).
  static const IconData grain_outlined = IconData(0xf0cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">graphic_eq</i> &#x2014; material icon named "graphic eq".
  static const IconData graphic_eq = IconData(0xe2e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">graphic_eq</i> &#x2014; material icon named "graphic eq" (sharp).
  static const IconData graphic_eq_sharp = IconData(0xe9de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">graphic_eq</i> &#x2014; material icon named "graphic eq" (round).
  static const IconData graphic_eq_rounded = IconData(0xf7bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">graphic_eq</i> &#x2014; material icon named "graphic eq" (outlined).
  static const IconData graphic_eq_outlined = IconData(0xf0d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">grass</i> &#x2014; material icon named "grass".
  static const IconData grass = IconData(0xe2e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">grass</i> &#x2014; material icon named "grass" (sharp).
  static const IconData grass_sharp = IconData(0xe9df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">grass</i> &#x2014; material icon named "grass" (round).
  static const IconData grass_rounded = IconData(0xf7be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">grass</i> &#x2014; material icon named "grass" (outlined).
  static const IconData grass_outlined = IconData(0xf0d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">grid_3x3</i> &#x2014; material icon named "grid 3x3".
  static const IconData grid_3x3 = IconData(0xe2e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">grid_3x3</i> &#x2014; material icon named "grid 3x3" (sharp).
  static const IconData grid_3x3_sharp = IconData(0xe9e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">grid_3x3</i> &#x2014; material icon named "grid 3x3" (round).
  static const IconData grid_3x3_rounded = IconData(0xf7bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">grid_3x3</i> &#x2014; material icon named "grid 3x3" (outlined).
  static const IconData grid_3x3_outlined = IconData(0xf0d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">grid_4x4</i> &#x2014; material icon named "grid 4x4".
  static const IconData grid_4x4 = IconData(0xe2e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">grid_4x4</i> &#x2014; material icon named "grid 4x4" (sharp).
  static const IconData grid_4x4_sharp = IconData(0xe9e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">grid_4x4</i> &#x2014; material icon named "grid 4x4" (round).
  static const IconData grid_4x4_rounded = IconData(0xf7c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">grid_4x4</i> &#x2014; material icon named "grid 4x4" (outlined).
  static const IconData grid_4x4_outlined = IconData(0xf0d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">grid_goldenratio</i> &#x2014; material icon named "grid goldenratio".
  static const IconData grid_goldenratio = IconData(0xe2e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">grid_goldenratio</i> &#x2014; material icon named "grid goldenratio" (sharp).
  static const IconData grid_goldenratio_sharp = IconData(0xe9e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">grid_goldenratio</i> &#x2014; material icon named "grid goldenratio" (round).
  static const IconData grid_goldenratio_rounded = IconData(0xf7c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">grid_goldenratio</i> &#x2014; material icon named "grid goldenratio" (outlined).
  static const IconData grid_goldenratio_outlined = IconData(0xf0d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">grid_off</i> &#x2014; material icon named "grid off".
  static const IconData grid_off = IconData(0xe2e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">grid_off</i> &#x2014; material icon named "grid off" (sharp).
  static const IconData grid_off_sharp = IconData(0xe9e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">grid_off</i> &#x2014; material icon named "grid off" (round).
  static const IconData grid_off_rounded = IconData(0xf7c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">grid_off</i> &#x2014; material icon named "grid off" (outlined).
  static const IconData grid_off_outlined = IconData(0xf0d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">grid_on</i> &#x2014; material icon named "grid on".
  static const IconData grid_on = IconData(0xe2e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">grid_on</i> &#x2014; material icon named "grid on" (sharp).
  static const IconData grid_on_sharp = IconData(0xe9e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">grid_on</i> &#x2014; material icon named "grid on" (round).
  static const IconData grid_on_rounded = IconData(0xf7c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">grid_on</i> &#x2014; material icon named "grid on" (outlined).
  static const IconData grid_on_outlined = IconData(0xf0d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">grid_view</i> &#x2014; material icon named "grid view".
  static const IconData grid_view = IconData(0xe2ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">grid_view</i> &#x2014; material icon named "grid view" (sharp).
  static const IconData grid_view_sharp = IconData(0xe9e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">grid_view</i> &#x2014; material icon named "grid view" (round).
  static const IconData grid_view_rounded = IconData(0xf7c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">grid_view</i> &#x2014; material icon named "grid view" (outlined).
  static const IconData grid_view_outlined = IconData(0xf0d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">group</i> &#x2014; material icon named "group".
  static const IconData group = IconData(0xe2eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">group</i> &#x2014; material icon named "group" (sharp).
  static const IconData group_sharp = IconData(0xe9e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">group</i> &#x2014; material icon named "group" (round).
  static const IconData group_rounded = IconData(0xf7c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">group</i> &#x2014; material icon named "group" (outlined).
  static const IconData group_outlined = IconData(0xf0d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">group_add</i> &#x2014; material icon named "group add".
  static const IconData group_add = IconData(0xe2ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">group_add</i> &#x2014; material icon named "group add" (sharp).
  static const IconData group_add_sharp = IconData(0xe9e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">group_add</i> &#x2014; material icon named "group add" (round).
  static const IconData group_add_rounded = IconData(0xf7c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">group_add</i> &#x2014; material icon named "group add" (outlined).
  static const IconData group_add_outlined = IconData(0xf0d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">group_off</i> &#x2014; material icon named "group off".
  static const IconData group_off = IconData(0xf0514, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">group_off</i> &#x2014; material icon named "group off" (sharp).
  static const IconData group_off_sharp = IconData(0xf041f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">group_off</i> &#x2014; material icon named "group off" (round).
  static const IconData group_off_rounded = IconData(0xf032c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">group_off</i> &#x2014; material icon named "group off" (outlined).
  static const IconData group_off_outlined = IconData(0xf060d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">group_remove</i> &#x2014; material icon named "group remove".
  static const IconData group_remove = IconData(0xf0515, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">group_remove</i> &#x2014; material icon named "group remove" (sharp).
  static const IconData group_remove_sharp = IconData(0xf0420, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">group_remove</i> &#x2014; material icon named "group remove" (round).
  static const IconData group_remove_rounded = IconData(0xf032d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">group_remove</i> &#x2014; material icon named "group remove" (outlined).
  static const IconData group_remove_outlined = IconData(0xf060e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">group_work</i> &#x2014; material icon named "group work".
  static const IconData group_work = IconData(0xe2ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">group_work</i> &#x2014; material icon named "group work" (sharp).
  static const IconData group_work_sharp = IconData(0xe9e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">group_work</i> &#x2014; material icon named "group work" (round).
  static const IconData group_work_rounded = IconData(0xf7c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">group_work</i> &#x2014; material icon named "group work" (outlined).
  static const IconData group_work_outlined = IconData(0xf0da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">groups</i> &#x2014; material icon named "groups".
  static const IconData groups = IconData(0xe2ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">groups</i> &#x2014; material icon named "groups" (sharp).
  static const IconData groups_sharp = IconData(0xe9e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">groups</i> &#x2014; material icon named "groups" (round).
  static const IconData groups_rounded = IconData(0xf7c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">groups</i> &#x2014; material icon named "groups" (outlined).
  static const IconData groups_outlined = IconData(0xf0db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">groups_2</i> &#x2014; material icon named "groups 2".
  static const IconData groups_2 = IconData(0xf0869, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">groups_2</i> &#x2014; material icon named "groups 2" (sharp).
  static const IconData groups_2_sharp = IconData(0xf0841, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">groups_2</i> &#x2014; material icon named "groups 2" (round).
  static const IconData groups_2_rounded = IconData(0xf088a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">groups_2</i> &#x2014; material icon named "groups 2" (outlined).
  static const IconData groups_2_outlined = IconData(0xf08a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">groups_3</i> &#x2014; material icon named "groups 3".
  static const IconData groups_3 = IconData(0xf086a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">groups_3</i> &#x2014; material icon named "groups 3" (sharp).
  static const IconData groups_3_sharp = IconData(0xf0842, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">groups_3</i> &#x2014; material icon named "groups 3" (round).
  static const IconData groups_3_rounded = IconData(0xf088b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">groups_3</i> &#x2014; material icon named "groups 3" (outlined).
  static const IconData groups_3_outlined = IconData(0xf08a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">h_mobiledata</i> &#x2014; material icon named "h mobiledata".
  static const IconData h_mobiledata = IconData(0xe2ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">h_mobiledata</i> &#x2014; material icon named "h mobiledata" (sharp).
  static const IconData h_mobiledata_sharp = IconData(0xe9ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">h_mobiledata</i> &#x2014; material icon named "h mobiledata" (round).
  static const IconData h_mobiledata_rounded = IconData(0xf7c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">h_mobiledata</i> &#x2014; material icon named "h mobiledata" (outlined).
  static const IconData h_mobiledata_outlined = IconData(0xf0dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">h_plus_mobiledata</i> &#x2014; material icon named "h plus mobiledata".
  static const IconData h_plus_mobiledata = IconData(0xe2f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">h_plus_mobiledata</i> &#x2014; material icon named "h plus mobiledata" (sharp).
  static const IconData h_plus_mobiledata_sharp = IconData(0xe9eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">h_plus_mobiledata</i> &#x2014; material icon named "h plus mobiledata" (round).
  static const IconData h_plus_mobiledata_rounded = IconData(0xf7ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">h_plus_mobiledata</i> &#x2014; material icon named "h plus mobiledata" (outlined).
  static const IconData h_plus_mobiledata_outlined = IconData(0xf0dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hail</i> &#x2014; material icon named "hail".
  static const IconData hail = IconData(0xe2f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hail</i> &#x2014; material icon named "hail" (sharp).
  static const IconData hail_sharp = IconData(0xe9ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hail</i> &#x2014; material icon named "hail" (round).
  static const IconData hail_rounded = IconData(0xf7cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hail</i> &#x2014; material icon named "hail" (outlined).
  static const IconData hail_outlined = IconData(0xf0de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">handshake</i> &#x2014; material icon named "handshake".
  static const IconData handshake = IconData(0xf06be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">handshake</i> &#x2014; material icon named "handshake" (sharp).
  static const IconData handshake_sharp = IconData(0xf06b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">handshake</i> &#x2014; material icon named "handshake" (round).
  static const IconData handshake_rounded = IconData(0xf06cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">handshake</i> &#x2014; material icon named "handshake" (outlined).
  static const IconData handshake_outlined = IconData(0xf06a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">handyman</i> &#x2014; material icon named "handyman".
  static const IconData handyman = IconData(0xe2f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">handyman</i> &#x2014; material icon named "handyman" (sharp).
  static const IconData handyman_sharp = IconData(0xe9ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">handyman</i> &#x2014; material icon named "handyman" (round).
  static const IconData handyman_rounded = IconData(0xf7cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">handyman</i> &#x2014; material icon named "handyman" (outlined).
  static const IconData handyman_outlined = IconData(0xf0df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hardware</i> &#x2014; material icon named "hardware".
  static const IconData hardware = IconData(0xe2f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hardware</i> &#x2014; material icon named "hardware" (sharp).
  static const IconData hardware_sharp = IconData(0xe9ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hardware</i> &#x2014; material icon named "hardware" (round).
  static const IconData hardware_rounded = IconData(0xf7cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hardware</i> &#x2014; material icon named "hardware" (outlined).
  static const IconData hardware_outlined = IconData(0xf0e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hd</i> &#x2014; material icon named "hd".
  static const IconData hd = IconData(0xe2f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hd</i> &#x2014; material icon named "hd" (sharp).
  static const IconData hd_sharp = IconData(0xe9ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hd</i> &#x2014; material icon named "hd" (round).
  static const IconData hd_rounded = IconData(0xf7ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hd</i> &#x2014; material icon named "hd" (outlined).
  static const IconData hd_outlined = IconData(0xf0e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hdr_auto</i> &#x2014; material icon named "hdr auto".
  static const IconData hdr_auto = IconData(0xe2f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hdr_auto</i> &#x2014; material icon named "hdr auto" (sharp).
  static const IconData hdr_auto_sharp = IconData(0xe9f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hdr_auto</i> &#x2014; material icon named "hdr auto" (round).
  static const IconData hdr_auto_rounded = IconData(0xf7cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hdr_auto</i> &#x2014; material icon named "hdr auto" (outlined).
  static const IconData hdr_auto_outlined = IconData(0xf0e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hdr_auto_select</i> &#x2014; material icon named "hdr auto select".
  static const IconData hdr_auto_select = IconData(0xe2f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hdr_auto_select</i> &#x2014; material icon named "hdr auto select" (sharp).
  static const IconData hdr_auto_select_sharp = IconData(0xe9f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hdr_auto_select</i> &#x2014; material icon named "hdr auto select" (round).
  static const IconData hdr_auto_select_rounded = IconData(0xf7d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hdr_auto_select</i> &#x2014; material icon named "hdr auto select" (outlined).
  static const IconData hdr_auto_select_outlined = IconData(0xf0e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hdr_enhanced_select</i> &#x2014; material icon named "hdr enhanced select".
  static const IconData hdr_enhanced_select = IconData(0xe2f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hdr_enhanced_select</i> &#x2014; material icon named "hdr enhanced select" (sharp).
  static const IconData hdr_enhanced_select_sharp = IconData(0xe9f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hdr_enhanced_select</i> &#x2014; material icon named "hdr enhanced select" (round).
  static const IconData hdr_enhanced_select_rounded = IconData(0xf7d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hdr_enhanced_select</i> &#x2014; material icon named "hdr enhanced select" (outlined).
  static const IconData hdr_enhanced_select_outlined = IconData(0xf0e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hdr_off</i> &#x2014; material icon named "hdr off".
  static const IconData hdr_off = IconData(0xe2f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hdr_off</i> &#x2014; material icon named "hdr off" (sharp).
  static const IconData hdr_off_sharp = IconData(0xe9f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hdr_off</i> &#x2014; material icon named "hdr off" (round).
  static const IconData hdr_off_rounded = IconData(0xf7d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hdr_off</i> &#x2014; material icon named "hdr off" (outlined).
  static const IconData hdr_off_outlined = IconData(0xf0e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hdr_off_select</i> &#x2014; material icon named "hdr off select".
  static const IconData hdr_off_select = IconData(0xe2f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hdr_off_select</i> &#x2014; material icon named "hdr off select" (sharp).
  static const IconData hdr_off_select_sharp = IconData(0xe9f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hdr_off_select</i> &#x2014; material icon named "hdr off select" (round).
  static const IconData hdr_off_select_rounded = IconData(0xf7d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hdr_off_select</i> &#x2014; material icon named "hdr off select" (outlined).
  static const IconData hdr_off_select_outlined = IconData(0xf0e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hdr_on</i> &#x2014; material icon named "hdr on".
  static const IconData hdr_on = IconData(0xe2fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hdr_on</i> &#x2014; material icon named "hdr on" (sharp).
  static const IconData hdr_on_sharp = IconData(0xe9f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hdr_on</i> &#x2014; material icon named "hdr on" (round).
  static const IconData hdr_on_rounded = IconData(0xf7d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hdr_on</i> &#x2014; material icon named "hdr on" (outlined).
  static const IconData hdr_on_outlined = IconData(0xf0e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hdr_on_select</i> &#x2014; material icon named "hdr on select".
  static const IconData hdr_on_select = IconData(0xe2fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hdr_on_select</i> &#x2014; material icon named "hdr on select" (sharp).
  static const IconData hdr_on_select_sharp = IconData(0xe9f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hdr_on_select</i> &#x2014; material icon named "hdr on select" (round).
  static const IconData hdr_on_select_rounded = IconData(0xf7d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hdr_on_select</i> &#x2014; material icon named "hdr on select" (outlined).
  static const IconData hdr_on_select_outlined = IconData(0xf0e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hdr_plus</i> &#x2014; material icon named "hdr plus".
  static const IconData hdr_plus = IconData(0xe2fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hdr_plus</i> &#x2014; material icon named "hdr plus" (sharp).
  static const IconData hdr_plus_sharp = IconData(0xe9f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hdr_plus</i> &#x2014; material icon named "hdr plus" (round).
  static const IconData hdr_plus_rounded = IconData(0xf7d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hdr_plus</i> &#x2014; material icon named "hdr plus" (outlined).
  static const IconData hdr_plus_outlined = IconData(0xf0e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hdr_strong</i> &#x2014; material icon named "hdr strong".
  static const IconData hdr_strong = IconData(0xe2fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hdr_strong</i> &#x2014; material icon named "hdr strong" (sharp).
  static const IconData hdr_strong_sharp = IconData(0xe9f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hdr_strong</i> &#x2014; material icon named "hdr strong" (round).
  static const IconData hdr_strong_rounded = IconData(0xf7d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hdr_strong</i> &#x2014; material icon named "hdr strong" (outlined).
  static const IconData hdr_strong_outlined = IconData(0xf0ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hdr_weak</i> &#x2014; material icon named "hdr weak".
  static const IconData hdr_weak = IconData(0xe2fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hdr_weak</i> &#x2014; material icon named "hdr weak" (sharp).
  static const IconData hdr_weak_sharp = IconData(0xe9f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hdr_weak</i> &#x2014; material icon named "hdr weak" (round).
  static const IconData hdr_weak_rounded = IconData(0xf7d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hdr_weak</i> &#x2014; material icon named "hdr weak" (outlined).
  static const IconData hdr_weak_outlined = IconData(0xf0eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">headphones</i> &#x2014; material icon named "headphones".
  static const IconData headphones = IconData(0xe2ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">headphones</i> &#x2014; material icon named "headphones" (sharp).
  static const IconData headphones_sharp = IconData(0xe9fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">headphones</i> &#x2014; material icon named "headphones" (round).
  static const IconData headphones_rounded = IconData(0xf7da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">headphones</i> &#x2014; material icon named "headphones" (outlined).
  static const IconData headphones_outlined = IconData(0xf0ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">headphones_battery</i> &#x2014; material icon named "headphones battery".
  static const IconData headphones_battery = IconData(0xe300, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">headphones_battery</i> &#x2014; material icon named "headphones battery" (sharp).
  static const IconData headphones_battery_sharp = IconData(0xe9fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">headphones_battery</i> &#x2014; material icon named "headphones battery" (round).
  static const IconData headphones_battery_rounded = IconData(0xf7d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">headphones_battery</i> &#x2014; material icon named "headphones battery" (outlined).
  static const IconData headphones_battery_outlined = IconData(0xf0ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">headset</i> &#x2014; material icon named "headset".
  static const IconData headset = IconData(0xe301, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">headset</i> &#x2014; material icon named "headset" (sharp).
  static const IconData headset_sharp = IconData(0xe9fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">headset</i> &#x2014; material icon named "headset" (round).
  static const IconData headset_rounded = IconData(0xf7dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">headset</i> &#x2014; material icon named "headset" (outlined).
  static const IconData headset_outlined = IconData(0xf0f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">headset_mic</i> &#x2014; material icon named "headset mic".
  static const IconData headset_mic = IconData(0xe302, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">headset_mic</i> &#x2014; material icon named "headset mic" (sharp).
  static const IconData headset_mic_sharp = IconData(0xe9fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">headset_mic</i> &#x2014; material icon named "headset mic" (round).
  static const IconData headset_mic_rounded = IconData(0xf7db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">headset_mic</i> &#x2014; material icon named "headset mic" (outlined).
  static const IconData headset_mic_outlined = IconData(0xf0ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">headset_off</i> &#x2014; material icon named "headset off".
  static const IconData headset_off = IconData(0xe303, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">headset_off</i> &#x2014; material icon named "headset off" (sharp).
  static const IconData headset_off_sharp = IconData(0xe9fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">headset_off</i> &#x2014; material icon named "headset off" (round).
  static const IconData headset_off_rounded = IconData(0xf7dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">headset_off</i> &#x2014; material icon named "headset off" (outlined).
  static const IconData headset_off_outlined = IconData(0xf0ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">healing</i> &#x2014; material icon named "healing".
  static const IconData healing = IconData(0xe304, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">healing</i> &#x2014; material icon named "healing" (sharp).
  static const IconData healing_sharp = IconData(0xe9ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">healing</i> &#x2014; material icon named "healing" (round).
  static const IconData healing_rounded = IconData(0xf7de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">healing</i> &#x2014; material icon named "healing" (outlined).
  static const IconData healing_outlined = IconData(0xf0f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">health_and_safety</i> &#x2014; material icon named "health and safety".
  static const IconData health_and_safety = IconData(0xe305, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">health_and_safety</i> &#x2014; material icon named "health and safety" (sharp).
  static const IconData health_and_safety_sharp = IconData(0xea00, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">health_and_safety</i> &#x2014; material icon named "health and safety" (round).
  static const IconData health_and_safety_rounded = IconData(0xf7df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">health_and_safety</i> &#x2014; material icon named "health and safety" (outlined).
  static const IconData health_and_safety_outlined = IconData(0xf0f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hearing</i> &#x2014; material icon named "hearing".
  static const IconData hearing = IconData(0xe306, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hearing</i> &#x2014; material icon named "hearing" (sharp).
  static const IconData hearing_sharp = IconData(0xea02, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hearing</i> &#x2014; material icon named "hearing" (round).
  static const IconData hearing_rounded = IconData(0xf7e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hearing</i> &#x2014; material icon named "hearing" (outlined).
  static const IconData hearing_outlined = IconData(0xf0f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hearing_disabled</i> &#x2014; material icon named "hearing disabled".
  static const IconData hearing_disabled = IconData(0xe307, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hearing_disabled</i> &#x2014; material icon named "hearing disabled" (sharp).
  static const IconData hearing_disabled_sharp = IconData(0xea01, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hearing_disabled</i> &#x2014; material icon named "hearing disabled" (round).
  static const IconData hearing_disabled_rounded = IconData(0xf7e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hearing_disabled</i> &#x2014; material icon named "hearing disabled" (outlined).
  static const IconData hearing_disabled_outlined = IconData(0xf0f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">heart_broken</i> &#x2014; material icon named "heart broken".
  static const IconData heart_broken = IconData(0xf0516, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">heart_broken</i> &#x2014; material icon named "heart broken" (sharp).
  static const IconData heart_broken_sharp = IconData(0xf0421, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">heart_broken</i> &#x2014; material icon named "heart broken" (round).
  static const IconData heart_broken_rounded = IconData(0xf032e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">heart_broken</i> &#x2014; material icon named "heart broken" (outlined).
  static const IconData heart_broken_outlined = IconData(0xf060f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">heat_pump</i> &#x2014; material icon named "heat pump".
  static const IconData heat_pump = IconData(0xf07a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">heat_pump</i> &#x2014; material icon named "heat pump" (sharp).
  static const IconData heat_pump_sharp = IconData(0xf074d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">heat_pump</i> &#x2014; material icon named "heat pump" (round).
  static const IconData heat_pump_rounded = IconData(0xf07fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">heat_pump</i> &#x2014; material icon named "heat pump" (outlined).
  static const IconData heat_pump_outlined = IconData(0xf06f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">height</i> &#x2014; material icon named "height".
  static const IconData height = IconData(0xe308, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">height</i> &#x2014; material icon named "height" (sharp).
  static const IconData height_sharp = IconData(0xea03, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">height</i> &#x2014; material icon named "height" (round).
  static const IconData height_rounded = IconData(0xf7e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">height</i> &#x2014; material icon named "height" (outlined).
  static const IconData height_outlined = IconData(0xf0f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">help</i> &#x2014; material icon named "help".
  static const IconData help = IconData(0xe309, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">help</i> &#x2014; material icon named "help" (sharp).
  static const IconData help_sharp = IconData(0xea06, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">help</i> &#x2014; material icon named "help" (round).
  static const IconData help_rounded = IconData(0xf7e5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">help</i> &#x2014; material icon named "help" (outlined).
  static const IconData help_outlined = IconData(0xf0f8, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">help_center</i> &#x2014; material icon named "help center".
  static const IconData help_center = IconData(0xe30a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">help_center</i> &#x2014; material icon named "help center" (sharp).
  static const IconData help_center_sharp = IconData(0xea04, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">help_center</i> &#x2014; material icon named "help center" (round).
  static const IconData help_center_rounded = IconData(0xf7e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">help_center</i> &#x2014; material icon named "help center" (outlined).
  static const IconData help_center_outlined = IconData(0xf0f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">help_outline</i> &#x2014; material icon named "help outline".
  static const IconData help_outline = IconData(0xe30b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">help_outline</i> &#x2014; material icon named "help outline" (sharp).
  static const IconData help_outline_sharp = IconData(0xea05, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">help_outline</i> &#x2014; material icon named "help outline" (round).
  static const IconData help_outline_rounded = IconData(0xf7e4, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">help_outline</i> &#x2014; material icon named "help outline" (outlined).
  static const IconData help_outline_outlined = IconData(0xf0f7, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">hevc</i> &#x2014; material icon named "hevc".
  static const IconData hevc = IconData(0xe30c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hevc</i> &#x2014; material icon named "hevc" (sharp).
  static const IconData hevc_sharp = IconData(0xea07, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hevc</i> &#x2014; material icon named "hevc" (round).
  static const IconData hevc_rounded = IconData(0xf7e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hevc</i> &#x2014; material icon named "hevc" (outlined).
  static const IconData hevc_outlined = IconData(0xf0f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hexagon</i> &#x2014; material icon named "hexagon".
  static const IconData hexagon = IconData(0xf0517, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hexagon</i> &#x2014; material icon named "hexagon" (sharp).
  static const IconData hexagon_sharp = IconData(0xf0422, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hexagon</i> &#x2014; material icon named "hexagon" (round).
  static const IconData hexagon_rounded = IconData(0xf032f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hexagon</i> &#x2014; material icon named "hexagon" (outlined).
  static const IconData hexagon_outlined = IconData(0xf0610, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hide_image</i> &#x2014; material icon named "hide image".
  static const IconData hide_image = IconData(0xe30d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hide_image</i> &#x2014; material icon named "hide image" (sharp).
  static const IconData hide_image_sharp = IconData(0xea08, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hide_image</i> &#x2014; material icon named "hide image" (round).
  static const IconData hide_image_rounded = IconData(0xf7e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hide_image</i> &#x2014; material icon named "hide image" (outlined).
  static const IconData hide_image_outlined = IconData(0xf0fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hide_source</i> &#x2014; material icon named "hide source".
  static const IconData hide_source = IconData(0xe30e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hide_source</i> &#x2014; material icon named "hide source" (sharp).
  static const IconData hide_source_sharp = IconData(0xea09, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hide_source</i> &#x2014; material icon named "hide source" (round).
  static const IconData hide_source_rounded = IconData(0xf7e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hide_source</i> &#x2014; material icon named "hide source" (outlined).
  static const IconData hide_source_outlined = IconData(0xf0fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">high_quality</i> &#x2014; material icon named "high quality".
  static const IconData high_quality = IconData(0xe30f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">high_quality</i> &#x2014; material icon named "high quality" (sharp).
  static const IconData high_quality_sharp = IconData(0xea0a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">high_quality</i> &#x2014; material icon named "high quality" (round).
  static const IconData high_quality_rounded = IconData(0xf7e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">high_quality</i> &#x2014; material icon named "high quality" (outlined).
  static const IconData high_quality_outlined = IconData(0xf0fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">highlight</i> &#x2014; material icon named "highlight".
  static const IconData highlight = IconData(0xe310, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">highlight</i> &#x2014; material icon named "highlight" (sharp).
  static const IconData highlight_sharp = IconData(0xea0d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">highlight</i> &#x2014; material icon named "highlight" (round).
  static const IconData highlight_rounded = IconData(0xf7ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">highlight</i> &#x2014; material icon named "highlight" (outlined).
  static const IconData highlight_outlined = IconData(0xf0ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">highlight_alt</i> &#x2014; material icon named "highlight alt".
  static const IconData highlight_alt = IconData(0xe311, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">highlight_alt</i> &#x2014; material icon named "highlight alt" (sharp).
  static const IconData highlight_alt_sharp = IconData(0xea0b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">highlight_alt</i> &#x2014; material icon named "highlight alt" (round).
  static const IconData highlight_alt_rounded = IconData(0xf7ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">highlight_alt</i> &#x2014; material icon named "highlight alt" (outlined).
  static const IconData highlight_alt_outlined = IconData(0xf0fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">highlight_off</i> &#x2014; material icon named "highlight off".
  static const IconData highlight_off = IconData(0xe312, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">highlight_off</i> &#x2014; material icon named "highlight off" (sharp).
  static const IconData highlight_off_sharp = IconData(0xea0c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">highlight_off</i> &#x2014; material icon named "highlight off" (round).
  static const IconData highlight_off_rounded = IconData(0xf7eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">highlight_off</i> &#x2014; material icon named "highlight off" (outlined).
  static const IconData highlight_off_outlined = IconData(0xf0fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">highlight_remove</i> &#x2014; material icon named "highlight remove".
  static const IconData highlight_remove = IconData(0xe312, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">highlight_remove</i> &#x2014; material icon named "highlight remove" (sharp).
  static const IconData highlight_remove_sharp = IconData(0xea0c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">highlight_remove</i> &#x2014; material icon named "highlight remove" (round).
  static const IconData highlight_remove_rounded = IconData(0xf7eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">highlight_remove</i> &#x2014; material icon named "highlight remove" (outlined).
  static const IconData highlight_remove_outlined = IconData(0xf0fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hiking</i> &#x2014; material icon named "hiking".
  static const IconData hiking = IconData(0xe313, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hiking</i> &#x2014; material icon named "hiking" (sharp).
  static const IconData hiking_sharp = IconData(0xea0e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hiking</i> &#x2014; material icon named "hiking" (round).
  static const IconData hiking_rounded = IconData(0xf7ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hiking</i> &#x2014; material icon named "hiking" (outlined).
  static const IconData hiking_outlined = IconData(0xf100, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">history</i> &#x2014; material icon named "history".
  static const IconData history = IconData(0xe314, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">history</i> &#x2014; material icon named "history" (sharp).
  static const IconData history_sharp = IconData(0xea10, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">history</i> &#x2014; material icon named "history" (round).
  static const IconData history_rounded = IconData(0xf7ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">history</i> &#x2014; material icon named "history" (outlined).
  static const IconData history_outlined = IconData(0xf102, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">history_edu</i> &#x2014; material icon named "history edu".
  static const IconData history_edu = IconData(0xe315, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">history_edu</i> &#x2014; material icon named "history edu" (sharp).
  static const IconData history_edu_sharp = IconData(0xea0f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">history_edu</i> &#x2014; material icon named "history edu" (round).
  static const IconData history_edu_rounded = IconData(0xf7ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">history_edu</i> &#x2014; material icon named "history edu" (outlined).
  static const IconData history_edu_outlined = IconData(0xf101, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">history_toggle_off</i> &#x2014; material icon named "history toggle off".
  static const IconData history_toggle_off = IconData(0xe316, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">history_toggle_off</i> &#x2014; material icon named "history toggle off" (sharp).
  static const IconData history_toggle_off_sharp = IconData(0xea11, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">history_toggle_off</i> &#x2014; material icon named "history toggle off" (round).
  static const IconData history_toggle_off_rounded = IconData(0xf7f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">history_toggle_off</i> &#x2014; material icon named "history toggle off" (outlined).
  static const IconData history_toggle_off_outlined = IconData(0xf103, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hive</i> &#x2014; material icon named "hive".
  static const IconData hive = IconData(0xf0518, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hive</i> &#x2014; material icon named "hive" (sharp).
  static const IconData hive_sharp = IconData(0xf0423, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hive</i> &#x2014; material icon named "hive" (round).
  static const IconData hive_rounded = IconData(0xf0330, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hive</i> &#x2014; material icon named "hive" (outlined).
  static const IconData hive_outlined = IconData(0xf0611, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hls</i> &#x2014; material icon named "hls".
  static const IconData hls = IconData(0xf0519, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hls</i> &#x2014; material icon named "hls" (sharp).
  static const IconData hls_sharp = IconData(0xf0425, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hls</i> &#x2014; material icon named "hls" (round).
  static const IconData hls_rounded = IconData(0xf0332, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hls</i> &#x2014; material icon named "hls" (outlined).
  static const IconData hls_outlined = IconData(0xf0613, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hls_off</i> &#x2014; material icon named "hls off".
  static const IconData hls_off = IconData(0xf051a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hls_off</i> &#x2014; material icon named "hls off" (sharp).
  static const IconData hls_off_sharp = IconData(0xf0424, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hls_off</i> &#x2014; material icon named "hls off" (round).
  static const IconData hls_off_rounded = IconData(0xf0331, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hls_off</i> &#x2014; material icon named "hls off" (outlined).
  static const IconData hls_off_outlined = IconData(0xf0612, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">holiday_village</i> &#x2014; material icon named "holiday village".
  static const IconData holiday_village = IconData(0xe317, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">holiday_village</i> &#x2014; material icon named "holiday village" (sharp).
  static const IconData holiday_village_sharp = IconData(0xea12, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">holiday_village</i> &#x2014; material icon named "holiday village" (round).
  static const IconData holiday_village_rounded = IconData(0xf7f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">holiday_village</i> &#x2014; material icon named "holiday village" (outlined).
  static const IconData holiday_village_outlined = IconData(0xf104, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">home</i> &#x2014; material icon named "home".
  static const IconData home = IconData(0xe318, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">home</i> &#x2014; material icon named "home" (sharp).
  static const IconData home_sharp = IconData(0xea16, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">home</i> &#x2014; material icon named "home" (round).
  static const IconData home_rounded = IconData(0xf7f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">home</i> &#x2014; material icon named "home" (outlined).
  static const IconData home_outlined = IconData(0xf107, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">home_filled</i> &#x2014; material icon named "home filled".
  static const IconData home_filled = IconData(0xe319, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">home_max</i> &#x2014; material icon named "home max".
  static const IconData home_max = IconData(0xe31a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">home_max</i> &#x2014; material icon named "home max" (sharp).
  static const IconData home_max_sharp = IconData(0xea13, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">home_max</i> &#x2014; material icon named "home max" (round).
  static const IconData home_max_rounded = IconData(0xf7f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">home_max</i> &#x2014; material icon named "home max" (outlined).
  static const IconData home_max_outlined = IconData(0xf105, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">home_mini</i> &#x2014; material icon named "home mini".
  static const IconData home_mini = IconData(0xe31b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">home_mini</i> &#x2014; material icon named "home mini" (sharp).
  static const IconData home_mini_sharp = IconData(0xea14, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">home_mini</i> &#x2014; material icon named "home mini" (round).
  static const IconData home_mini_rounded = IconData(0xf7f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">home_mini</i> &#x2014; material icon named "home mini" (outlined).
  static const IconData home_mini_outlined = IconData(0xf106, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">home_repair_service</i> &#x2014; material icon named "home repair service".
  static const IconData home_repair_service = IconData(0xe31c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">home_repair_service</i> &#x2014; material icon named "home repair service" (sharp).
  static const IconData home_repair_service_sharp = IconData(0xea15, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">home_repair_service</i> &#x2014; material icon named "home repair service" (round).
  static const IconData home_repair_service_rounded = IconData(0xf7f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">home_repair_service</i> &#x2014; material icon named "home repair service" (outlined).
  static const IconData home_repair_service_outlined = IconData(0xf108, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">home_work</i> &#x2014; material icon named "home work".
  static const IconData home_work = IconData(0xe31d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">home_work</i> &#x2014; material icon named "home work" (sharp).
  static const IconData home_work_sharp = IconData(0xea17, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">home_work</i> &#x2014; material icon named "home work" (round).
  static const IconData home_work_rounded = IconData(0xf7f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">home_work</i> &#x2014; material icon named "home work" (outlined).
  static const IconData home_work_outlined = IconData(0xf109, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">horizontal_distribute</i> &#x2014; material icon named "horizontal distribute".
  static const IconData horizontal_distribute = IconData(0xe31e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">horizontal_distribute</i> &#x2014; material icon named "horizontal distribute" (sharp).
  static const IconData horizontal_distribute_sharp = IconData(0xea18, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">horizontal_distribute</i> &#x2014; material icon named "horizontal distribute" (round).
  static const IconData horizontal_distribute_rounded = IconData(0xf7f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">horizontal_distribute</i> &#x2014; material icon named "horizontal distribute" (outlined).
  static const IconData horizontal_distribute_outlined = IconData(0xf10a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">horizontal_rule</i> &#x2014; material icon named "horizontal rule".
  static const IconData horizontal_rule = IconData(0xe31f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">horizontal_rule</i> &#x2014; material icon named "horizontal rule" (sharp).
  static const IconData horizontal_rule_sharp = IconData(0xea19, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">horizontal_rule</i> &#x2014; material icon named "horizontal rule" (round).
  static const IconData horizontal_rule_rounded = IconData(0xf7f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">horizontal_rule</i> &#x2014; material icon named "horizontal rule" (outlined).
  static const IconData horizontal_rule_outlined = IconData(0xf10b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">horizontal_split</i> &#x2014; material icon named "horizontal split".
  static const IconData horizontal_split = IconData(0xe320, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">horizontal_split</i> &#x2014; material icon named "horizontal split" (sharp).
  static const IconData horizontal_split_sharp = IconData(0xea1a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">horizontal_split</i> &#x2014; material icon named "horizontal split" (round).
  static const IconData horizontal_split_rounded = IconData(0xf7f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">horizontal_split</i> &#x2014; material icon named "horizontal split" (outlined).
  static const IconData horizontal_split_outlined = IconData(0xf10c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hot_tub</i> &#x2014; material icon named "hot tub".
  static const IconData hot_tub = IconData(0xe321, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hot_tub</i> &#x2014; material icon named "hot tub" (sharp).
  static const IconData hot_tub_sharp = IconData(0xea1b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hot_tub</i> &#x2014; material icon named "hot tub" (round).
  static const IconData hot_tub_rounded = IconData(0xf7fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hot_tub</i> &#x2014; material icon named "hot tub" (outlined).
  static const IconData hot_tub_outlined = IconData(0xf10d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hotel</i> &#x2014; material icon named "hotel".
  static const IconData hotel = IconData(0xe322, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hotel</i> &#x2014; material icon named "hotel" (sharp).
  static const IconData hotel_sharp = IconData(0xea1c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hotel</i> &#x2014; material icon named "hotel" (round).
  static const IconData hotel_rounded = IconData(0xf7fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hotel</i> &#x2014; material icon named "hotel" (outlined).
  static const IconData hotel_outlined = IconData(0xf10e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hotel_class</i> &#x2014; material icon named "hotel class".
  static const IconData hotel_class = IconData(0xf051b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hotel_class</i> &#x2014; material icon named "hotel class" (sharp).
  static const IconData hotel_class_sharp = IconData(0xf0426, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hotel_class</i> &#x2014; material icon named "hotel class" (round).
  static const IconData hotel_class_rounded = IconData(0xf0333, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hotel_class</i> &#x2014; material icon named "hotel class" (outlined).
  static const IconData hotel_class_outlined = IconData(0xf0614, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hourglass_bottom</i> &#x2014; material icon named "hourglass bottom".
  static const IconData hourglass_bottom = IconData(0xe323, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hourglass_bottom</i> &#x2014; material icon named "hourglass bottom" (sharp).
  static const IconData hourglass_bottom_sharp = IconData(0xea1d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hourglass_bottom</i> &#x2014; material icon named "hourglass bottom" (round).
  static const IconData hourglass_bottom_rounded = IconData(0xf7fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hourglass_bottom</i> &#x2014; material icon named "hourglass bottom" (outlined).
  static const IconData hourglass_bottom_outlined = IconData(0xf10f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hourglass_disabled</i> &#x2014; material icon named "hourglass disabled".
  static const IconData hourglass_disabled = IconData(0xe324, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hourglass_disabled</i> &#x2014; material icon named "hourglass disabled" (sharp).
  static const IconData hourglass_disabled_sharp = IconData(0xea1e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hourglass_disabled</i> &#x2014; material icon named "hourglass disabled" (round).
  static const IconData hourglass_disabled_rounded = IconData(0xf7fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hourglass_disabled</i> &#x2014; material icon named "hourglass disabled" (outlined).
  static const IconData hourglass_disabled_outlined = IconData(0xf110, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hourglass_empty</i> &#x2014; material icon named "hourglass empty".
  static const IconData hourglass_empty = IconData(0xe325, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hourglass_empty</i> &#x2014; material icon named "hourglass empty" (sharp).
  static const IconData hourglass_empty_sharp = IconData(0xea1f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hourglass_empty</i> &#x2014; material icon named "hourglass empty" (round).
  static const IconData hourglass_empty_rounded = IconData(0xf7fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hourglass_empty</i> &#x2014; material icon named "hourglass empty" (outlined).
  static const IconData hourglass_empty_outlined = IconData(0xf111, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hourglass_full</i> &#x2014; material icon named "hourglass full".
  static const IconData hourglass_full = IconData(0xe326, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hourglass_full</i> &#x2014; material icon named "hourglass full" (sharp).
  static const IconData hourglass_full_sharp = IconData(0xea20, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hourglass_full</i> &#x2014; material icon named "hourglass full" (round).
  static const IconData hourglass_full_rounded = IconData(0xf7ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hourglass_full</i> &#x2014; material icon named "hourglass full" (outlined).
  static const IconData hourglass_full_outlined = IconData(0xf112, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hourglass_top</i> &#x2014; material icon named "hourglass top".
  static const IconData hourglass_top = IconData(0xe327, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hourglass_top</i> &#x2014; material icon named "hourglass top" (sharp).
  static const IconData hourglass_top_sharp = IconData(0xea21, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hourglass_top</i> &#x2014; material icon named "hourglass top" (round).
  static const IconData hourglass_top_rounded = IconData(0xf800, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hourglass_top</i> &#x2014; material icon named "hourglass top" (outlined).
  static const IconData hourglass_top_outlined = IconData(0xf113, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">house</i> &#x2014; material icon named "house".
  static const IconData house = IconData(0xe328, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">house</i> &#x2014; material icon named "house" (sharp).
  static const IconData house_sharp = IconData(0xea22, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">house</i> &#x2014; material icon named "house" (round).
  static const IconData house_rounded = IconData(0xf801, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">house</i> &#x2014; material icon named "house" (outlined).
  static const IconData house_outlined = IconData(0xf114, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">house_siding</i> &#x2014; material icon named "house siding".
  static const IconData house_siding = IconData(0xe329, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">house_siding</i> &#x2014; material icon named "house siding" (sharp).
  static const IconData house_siding_sharp = IconData(0xea23, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">house_siding</i> &#x2014; material icon named "house siding" (round).
  static const IconData house_siding_rounded = IconData(0xf802, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">house_siding</i> &#x2014; material icon named "house siding" (outlined).
  static const IconData house_siding_outlined = IconData(0xf115, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">houseboat</i> &#x2014; material icon named "houseboat".
  static const IconData houseboat = IconData(0xe32a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">houseboat</i> &#x2014; material icon named "houseboat" (sharp).
  static const IconData houseboat_sharp = IconData(0xea24, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">houseboat</i> &#x2014; material icon named "houseboat" (round).
  static const IconData houseboat_rounded = IconData(0xf803, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">houseboat</i> &#x2014; material icon named "houseboat" (outlined).
  static const IconData houseboat_outlined = IconData(0xf116, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">how_to_reg</i> &#x2014; material icon named "how to reg".
  static const IconData how_to_reg = IconData(0xe32b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">how_to_reg</i> &#x2014; material icon named "how to reg" (sharp).
  static const IconData how_to_reg_sharp = IconData(0xea25, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">how_to_reg</i> &#x2014; material icon named "how to reg" (round).
  static const IconData how_to_reg_rounded = IconData(0xf804, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">how_to_reg</i> &#x2014; material icon named "how to reg" (outlined).
  static const IconData how_to_reg_outlined = IconData(0xf117, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">how_to_vote</i> &#x2014; material icon named "how to vote".
  static const IconData how_to_vote = IconData(0xe32c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">how_to_vote</i> &#x2014; material icon named "how to vote" (sharp).
  static const IconData how_to_vote_sharp = IconData(0xea26, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">how_to_vote</i> &#x2014; material icon named "how to vote" (round).
  static const IconData how_to_vote_rounded = IconData(0xf805, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">how_to_vote</i> &#x2014; material icon named "how to vote" (outlined).
  static const IconData how_to_vote_outlined = IconData(0xf118, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">html</i> &#x2014; material icon named "html".
  static const IconData html = IconData(0xf051c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">html</i> &#x2014; material icon named "html" (sharp).
  static const IconData html_sharp = IconData(0xf0427, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">html</i> &#x2014; material icon named "html" (round).
  static const IconData html_rounded = IconData(0xf0334, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">html</i> &#x2014; material icon named "html" (outlined).
  static const IconData html_outlined = IconData(0xf0615, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">http</i> &#x2014; material icon named "http".
  static const IconData http = IconData(0xe32d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">http</i> &#x2014; material icon named "http" (sharp).
  static const IconData http_sharp = IconData(0xea27, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">http</i> &#x2014; material icon named "http" (round).
  static const IconData http_rounded = IconData(0xf806, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">http</i> &#x2014; material icon named "http" (outlined).
  static const IconData http_outlined = IconData(0xf119, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">https</i> &#x2014; material icon named "https".
  static const IconData https = IconData(0xe32e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">https</i> &#x2014; material icon named "https" (sharp).
  static const IconData https_sharp = IconData(0xea28, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">https</i> &#x2014; material icon named "https" (round).
  static const IconData https_rounded = IconData(0xf807, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">https</i> &#x2014; material icon named "https" (outlined).
  static const IconData https_outlined = IconData(0xf11a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hub</i> &#x2014; material icon named "hub".
  static const IconData hub = IconData(0xf051d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hub</i> &#x2014; material icon named "hub" (sharp).
  static const IconData hub_sharp = IconData(0xf0428, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hub</i> &#x2014; material icon named "hub" (round).
  static const IconData hub_rounded = IconData(0xf0335, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hub</i> &#x2014; material icon named "hub" (outlined).
  static const IconData hub_outlined = IconData(0xf0616, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hvac</i> &#x2014; material icon named "hvac".
  static const IconData hvac = IconData(0xe32f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hvac</i> &#x2014; material icon named "hvac" (sharp).
  static const IconData hvac_sharp = IconData(0xea29, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hvac</i> &#x2014; material icon named "hvac" (round).
  static const IconData hvac_rounded = IconData(0xf808, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hvac</i> &#x2014; material icon named "hvac" (outlined).
  static const IconData hvac_outlined = IconData(0xf11b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ice_skating</i> &#x2014; material icon named "ice skating".
  static const IconData ice_skating = IconData(0xe330, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ice_skating</i> &#x2014; material icon named "ice skating" (sharp).
  static const IconData ice_skating_sharp = IconData(0xea2a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ice_skating</i> &#x2014; material icon named "ice skating" (round).
  static const IconData ice_skating_rounded = IconData(0xf809, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ice_skating</i> &#x2014; material icon named "ice skating" (outlined).
  static const IconData ice_skating_outlined = IconData(0xf11c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">icecream</i> &#x2014; material icon named "icecream".
  static const IconData icecream = IconData(0xe331, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">icecream</i> &#x2014; material icon named "icecream" (sharp).
  static const IconData icecream_sharp = IconData(0xea2b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">icecream</i> &#x2014; material icon named "icecream" (round).
  static const IconData icecream_rounded = IconData(0xf80a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">icecream</i> &#x2014; material icon named "icecream" (outlined).
  static const IconData icecream_outlined = IconData(0xf11d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">image</i> &#x2014; material icon named "image".
  static const IconData image = IconData(0xe332, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">image</i> &#x2014; material icon named "image" (sharp).
  static const IconData image_sharp = IconData(0xea2f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">image</i> &#x2014; material icon named "image" (round).
  static const IconData image_rounded = IconData(0xf80d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">image</i> &#x2014; material icon named "image" (outlined).
  static const IconData image_outlined = IconData(0xf120, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">image_aspect_ratio</i> &#x2014; material icon named "image aspect ratio".
  static const IconData image_aspect_ratio = IconData(0xe333, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">image_aspect_ratio</i> &#x2014; material icon named "image aspect ratio" (sharp).
  static const IconData image_aspect_ratio_sharp = IconData(0xea2c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">image_aspect_ratio</i> &#x2014; material icon named "image aspect ratio" (round).
  static const IconData image_aspect_ratio_rounded = IconData(0xf80b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">image_aspect_ratio</i> &#x2014; material icon named "image aspect ratio" (outlined).
  static const IconData image_aspect_ratio_outlined = IconData(0xf11e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">image_not_supported</i> &#x2014; material icon named "image not supported".
  static const IconData image_not_supported = IconData(0xe334, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">image_not_supported</i> &#x2014; material icon named "image not supported" (sharp).
  static const IconData image_not_supported_sharp = IconData(0xea2d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">image_not_supported</i> &#x2014; material icon named "image not supported" (round).
  static const IconData image_not_supported_rounded = IconData(0xf80c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">image_not_supported</i> &#x2014; material icon named "image not supported" (outlined).
  static const IconData image_not_supported_outlined = IconData(0xf11f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">image_search</i> &#x2014; material icon named "image search".
  static const IconData image_search = IconData(0xe335, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">image_search</i> &#x2014; material icon named "image search" (sharp).
  static const IconData image_search_sharp = IconData(0xea2e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">image_search</i> &#x2014; material icon named "image search" (round).
  static const IconData image_search_rounded = IconData(0xf80e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">image_search</i> &#x2014; material icon named "image search" (outlined).
  static const IconData image_search_outlined = IconData(0xf121, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">imagesearch_roller</i> &#x2014; material icon named "imagesearch roller".
  static const IconData imagesearch_roller = IconData(0xe336, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">imagesearch_roller</i> &#x2014; material icon named "imagesearch roller" (sharp).
  static const IconData imagesearch_roller_sharp = IconData(0xea30, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">imagesearch_roller</i> &#x2014; material icon named "imagesearch roller" (round).
  static const IconData imagesearch_roller_rounded = IconData(0xf80f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">imagesearch_roller</i> &#x2014; material icon named "imagesearch roller" (outlined).
  static const IconData imagesearch_roller_outlined = IconData(0xf122, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">import_contacts</i> &#x2014; material icon named "import contacts".
  static const IconData import_contacts = IconData(0xe337, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">import_contacts</i> &#x2014; material icon named "import contacts" (sharp).
  static const IconData import_contacts_sharp = IconData(0xea31, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">import_contacts</i> &#x2014; material icon named "import contacts" (round).
  static const IconData import_contacts_rounded = IconData(0xf810, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">import_contacts</i> &#x2014; material icon named "import contacts" (outlined).
  static const IconData import_contacts_outlined = IconData(0xf123, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">import_export</i> &#x2014; material icon named "import export".
  static const IconData import_export = IconData(0xe338, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">import_export</i> &#x2014; material icon named "import export" (sharp).
  static const IconData import_export_sharp = IconData(0xea32, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">import_export</i> &#x2014; material icon named "import export" (round).
  static const IconData import_export_rounded = IconData(0xf811, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">import_export</i> &#x2014; material icon named "import export" (outlined).
  static const IconData import_export_outlined = IconData(0xf124, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">important_devices</i> &#x2014; material icon named "important devices".
  static const IconData important_devices = IconData(0xe339, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">important_devices</i> &#x2014; material icon named "important devices" (sharp).
  static const IconData important_devices_sharp = IconData(0xea33, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">important_devices</i> &#x2014; material icon named "important devices" (round).
  static const IconData important_devices_rounded = IconData(0xf812, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">important_devices</i> &#x2014; material icon named "important devices" (outlined).
  static const IconData important_devices_outlined = IconData(0xf125, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">inbox</i> &#x2014; material icon named "inbox".
  static const IconData inbox = IconData(0xe33a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">inbox</i> &#x2014; material icon named "inbox" (sharp).
  static const IconData inbox_sharp = IconData(0xea34, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">inbox</i> &#x2014; material icon named "inbox" (round).
  static const IconData inbox_rounded = IconData(0xf813, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">inbox</i> &#x2014; material icon named "inbox" (outlined).
  static const IconData inbox_outlined = IconData(0xf126, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">incomplete_circle</i> &#x2014; material icon named "incomplete circle".
  static const IconData incomplete_circle = IconData(0xf051e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">incomplete_circle</i> &#x2014; material icon named "incomplete circle" (sharp).
  static const IconData incomplete_circle_sharp = IconData(0xf0429, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">incomplete_circle</i> &#x2014; material icon named "incomplete circle" (round).
  static const IconData incomplete_circle_rounded = IconData(0xf0336, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">incomplete_circle</i> &#x2014; material icon named "incomplete circle" (outlined).
  static const IconData incomplete_circle_outlined = IconData(0xf0617, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">indeterminate_check_box</i> &#x2014; material icon named "indeterminate check box".
  static const IconData indeterminate_check_box = IconData(0xe33b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">indeterminate_check_box</i> &#x2014; material icon named "indeterminate check box" (sharp).
  static const IconData indeterminate_check_box_sharp = IconData(0xea35, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">indeterminate_check_box</i> &#x2014; material icon named "indeterminate check box" (round).
  static const IconData indeterminate_check_box_rounded = IconData(0xf814, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">indeterminate_check_box</i> &#x2014; material icon named "indeterminate check box" (outlined).
  static const IconData indeterminate_check_box_outlined = IconData(0xf127, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">info</i> &#x2014; material icon named "info".
  static const IconData info = IconData(0xe33c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">info</i> &#x2014; material icon named "info" (sharp).
  static const IconData info_sharp = IconData(0xea37, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">info</i> &#x2014; material icon named "info" (round).
  static const IconData info_rounded = IconData(0xf816, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">info</i> &#x2014; material icon named "info" (outlined).
  static const IconData info_outlined = IconData(0xf128, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">info_outline</i> &#x2014; material icon named "info outline".
  static const IconData info_outline = IconData(0xe33d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">info_outline</i> &#x2014; material icon named "info outline" (sharp).
  static const IconData info_outline_sharp = IconData(0xea36, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">info_outline</i> &#x2014; material icon named "info outline" (round).
  static const IconData info_outline_rounded = IconData(0xf815, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">input</i> &#x2014; material icon named "input".
  static const IconData input = IconData(0xe33e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">input</i> &#x2014; material icon named "input" (sharp).
  static const IconData input_sharp = IconData(0xea38, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">input</i> &#x2014; material icon named "input" (round).
  static const IconData input_rounded = IconData(0xf817, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">input</i> &#x2014; material icon named "input" (outlined).
  static const IconData input_outlined = IconData(0xf129, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">insert_chart</i> &#x2014; material icon named "insert chart".
  static const IconData insert_chart = IconData(0xe33f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">insert_chart</i> &#x2014; material icon named "insert chart" (sharp).
  static const IconData insert_chart_sharp = IconData(0xea3a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">insert_chart</i> &#x2014; material icon named "insert chart" (round).
  static const IconData insert_chart_rounded = IconData(0xf819, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">insert_chart</i> &#x2014; material icon named "insert chart".
  static const IconData insert_chart_outlined = IconData(0xf12a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">insert_chart_outlined</i> &#x2014; material icon named "insert chart outlined" (sharp).
  static const IconData insert_chart_outlined_sharp = IconData(0xea39, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">insert_chart_outlined</i> &#x2014; material icon named "insert chart outlined" (round).
  static const IconData insert_chart_outlined_rounded = IconData(0xf818, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">insert_chart_outlined</i> &#x2014; material icon named "insert chart outlined" (outlined).
  static const IconData insert_chart_outlined_outlined = IconData(0xf12b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">insert_comment</i> &#x2014; material icon named "insert comment".
  static const IconData insert_comment = IconData(0xe341, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">insert_comment</i> &#x2014; material icon named "insert comment" (sharp).
  static const IconData insert_comment_sharp = IconData(0xea3b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">insert_comment</i> &#x2014; material icon named "insert comment" (round).
  static const IconData insert_comment_rounded = IconData(0xf81a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">insert_comment</i> &#x2014; material icon named "insert comment" (outlined).
  static const IconData insert_comment_outlined = IconData(0xf12c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">insert_drive_file</i> &#x2014; material icon named "insert drive file".
  static const IconData insert_drive_file = IconData(0xe342, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">insert_drive_file</i> &#x2014; material icon named "insert drive file" (sharp).
  static const IconData insert_drive_file_sharp = IconData(0xea3c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">insert_drive_file</i> &#x2014; material icon named "insert drive file" (round).
  static const IconData insert_drive_file_rounded = IconData(0xf81b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">insert_drive_file</i> &#x2014; material icon named "insert drive file" (outlined).
  static const IconData insert_drive_file_outlined = IconData(0xf12d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">insert_emoticon</i> &#x2014; material icon named "insert emoticon".
  static const IconData insert_emoticon = IconData(0xe343, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">insert_emoticon</i> &#x2014; material icon named "insert emoticon" (sharp).
  static const IconData insert_emoticon_sharp = IconData(0xea3d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">insert_emoticon</i> &#x2014; material icon named "insert emoticon" (round).
  static const IconData insert_emoticon_rounded = IconData(0xf81c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">insert_emoticon</i> &#x2014; material icon named "insert emoticon" (outlined).
  static const IconData insert_emoticon_outlined = IconData(0xf12e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">insert_invitation</i> &#x2014; material icon named "insert invitation".
  static const IconData insert_invitation = IconData(0xe344, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">insert_invitation</i> &#x2014; material icon named "insert invitation" (sharp).
  static const IconData insert_invitation_sharp = IconData(0xea3e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">insert_invitation</i> &#x2014; material icon named "insert invitation" (round).
  static const IconData insert_invitation_rounded = IconData(0xf81d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">insert_invitation</i> &#x2014; material icon named "insert invitation" (outlined).
  static const IconData insert_invitation_outlined = IconData(0xf12f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">insert_link</i> &#x2014; material icon named "insert link".
  static const IconData insert_link = IconData(0xe345, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">insert_link</i> &#x2014; material icon named "insert link" (sharp).
  static const IconData insert_link_sharp = IconData(0xea3f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">insert_link</i> &#x2014; material icon named "insert link" (round).
  static const IconData insert_link_rounded = IconData(0xf81e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">insert_link</i> &#x2014; material icon named "insert link" (outlined).
  static const IconData insert_link_outlined = IconData(0xf130, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">insert_page_break</i> &#x2014; material icon named "insert page break".
  static const IconData insert_page_break = IconData(0xf0520, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">insert_page_break</i> &#x2014; material icon named "insert page break" (sharp).
  static const IconData insert_page_break_sharp = IconData(0xf042a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">insert_page_break</i> &#x2014; material icon named "insert page break" (round).
  static const IconData insert_page_break_rounded = IconData(0xf0337, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">insert_page_break</i> &#x2014; material icon named "insert page break" (outlined).
  static const IconData insert_page_break_outlined = IconData(0xf0618, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">insert_photo</i> &#x2014; material icon named "insert photo".
  static const IconData insert_photo = IconData(0xe346, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">insert_photo</i> &#x2014; material icon named "insert photo" (sharp).
  static const IconData insert_photo_sharp = IconData(0xea40, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">insert_photo</i> &#x2014; material icon named "insert photo" (round).
  static const IconData insert_photo_rounded = IconData(0xf81f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">insert_photo</i> &#x2014; material icon named "insert photo" (outlined).
  static const IconData insert_photo_outlined = IconData(0xf131, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">insights</i> &#x2014; material icon named "insights".
  static const IconData insights = IconData(0xe347, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">insights</i> &#x2014; material icon named "insights" (sharp).
  static const IconData insights_sharp = IconData(0xea41, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">insights</i> &#x2014; material icon named "insights" (round).
  static const IconData insights_rounded = IconData(0xf820, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">insights</i> &#x2014; material icon named "insights" (outlined).
  static const IconData insights_outlined = IconData(0xf132, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">install_desktop</i> &#x2014; material icon named "install desktop".
  static const IconData install_desktop = IconData(0xf0521, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">install_desktop</i> &#x2014; material icon named "install desktop" (sharp).
  static const IconData install_desktop_sharp = IconData(0xf042b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">install_desktop</i> &#x2014; material icon named "install desktop" (round).
  static const IconData install_desktop_rounded = IconData(0xf0338, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">install_desktop</i> &#x2014; material icon named "install desktop" (outlined).
  static const IconData install_desktop_outlined = IconData(0xf0619, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">install_mobile</i> &#x2014; material icon named "install mobile".
  static const IconData install_mobile = IconData(0xf0522, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">install_mobile</i> &#x2014; material icon named "install mobile" (sharp).
  static const IconData install_mobile_sharp = IconData(0xf042c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">install_mobile</i> &#x2014; material icon named "install mobile" (round).
  static const IconData install_mobile_rounded = IconData(0xf0339, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">install_mobile</i> &#x2014; material icon named "install mobile" (outlined).
  static const IconData install_mobile_outlined = IconData(0xf061a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">integration_instructions</i> &#x2014; material icon named "integration instructions".
  static const IconData integration_instructions = IconData(0xe348, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">integration_instructions</i> &#x2014; material icon named "integration instructions" (sharp).
  static const IconData integration_instructions_sharp = IconData(0xea42, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">integration_instructions</i> &#x2014; material icon named "integration instructions" (round).
  static const IconData integration_instructions_rounded = IconData(0xf821, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">integration_instructions</i> &#x2014; material icon named "integration instructions" (outlined).
  static const IconData integration_instructions_outlined = IconData(0xf133, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">interests</i> &#x2014; material icon named "interests".
  static const IconData interests = IconData(0xf0523, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">interests</i> &#x2014; material icon named "interests" (sharp).
  static const IconData interests_sharp = IconData(0xf042d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">interests</i> &#x2014; material icon named "interests" (round).
  static const IconData interests_rounded = IconData(0xf033a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">interests</i> &#x2014; material icon named "interests" (outlined).
  static const IconData interests_outlined = IconData(0xf061b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">interpreter_mode</i> &#x2014; material icon named "interpreter mode".
  static const IconData interpreter_mode = IconData(0xf0524, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">interpreter_mode</i> &#x2014; material icon named "interpreter mode" (sharp).
  static const IconData interpreter_mode_sharp = IconData(0xf042e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">interpreter_mode</i> &#x2014; material icon named "interpreter mode" (round).
  static const IconData interpreter_mode_rounded = IconData(0xf033b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">interpreter_mode</i> &#x2014; material icon named "interpreter mode" (outlined).
  static const IconData interpreter_mode_outlined = IconData(0xf061c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">inventory</i> &#x2014; material icon named "inventory".
  static const IconData inventory = IconData(0xe349, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">inventory</i> &#x2014; material icon named "inventory" (sharp).
  static const IconData inventory_sharp = IconData(0xea44, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">inventory</i> &#x2014; material icon named "inventory" (round).
  static const IconData inventory_rounded = IconData(0xf823, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">inventory</i> &#x2014; material icon named "inventory" (outlined).
  static const IconData inventory_outlined = IconData(0xf135, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">inventory_2</i> &#x2014; material icon named "inventory 2".
  static const IconData inventory_2 = IconData(0xe34a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">inventory_2</i> &#x2014; material icon named "inventory 2" (sharp).
  static const IconData inventory_2_sharp = IconData(0xea43, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">inventory_2</i> &#x2014; material icon named "inventory 2" (round).
  static const IconData inventory_2_rounded = IconData(0xf822, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">inventory_2</i> &#x2014; material icon named "inventory 2" (outlined).
  static const IconData inventory_2_outlined = IconData(0xf134, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">invert_colors</i> &#x2014; material icon named "invert colors".
  static const IconData invert_colors = IconData(0xe34b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">invert_colors</i> &#x2014; material icon named "invert colors" (sharp).
  static const IconData invert_colors_sharp = IconData(0xea46, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">invert_colors</i> &#x2014; material icon named "invert colors" (round).
  static const IconData invert_colors_rounded = IconData(0xf825, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">invert_colors</i> &#x2014; material icon named "invert colors" (outlined).
  static const IconData invert_colors_outlined = IconData(0xf137, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">invert_colors_off</i> &#x2014; material icon named "invert colors off".
  static const IconData invert_colors_off = IconData(0xe34c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">invert_colors_off</i> &#x2014; material icon named "invert colors off" (sharp).
  static const IconData invert_colors_off_sharp = IconData(0xea45, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">invert_colors_off</i> &#x2014; material icon named "invert colors off" (round).
  static const IconData invert_colors_off_rounded = IconData(0xf824, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">invert_colors_off</i> &#x2014; material icon named "invert colors off" (outlined).
  static const IconData invert_colors_off_outlined = IconData(0xf136, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">invert_colors_on</i> &#x2014; material icon named "invert colors on".
  static const IconData invert_colors_on = IconData(0xe34b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">invert_colors_on</i> &#x2014; material icon named "invert colors on" (sharp).
  static const IconData invert_colors_on_sharp = IconData(0xea46, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">invert_colors_on</i> &#x2014; material icon named "invert colors on" (round).
  static const IconData invert_colors_on_rounded = IconData(0xf825, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">invert_colors_on</i> &#x2014; material icon named "invert colors on" (outlined).
  static const IconData invert_colors_on_outlined = IconData(0xf137, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ios_share</i> &#x2014; material icon named "ios share".
  static const IconData ios_share = IconData(0xe34d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ios_share</i> &#x2014; material icon named "ios share" (sharp).
  static const IconData ios_share_sharp = IconData(0xea47, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ios_share</i> &#x2014; material icon named "ios share" (round).
  static const IconData ios_share_rounded = IconData(0xf826, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ios_share</i> &#x2014; material icon named "ios share" (outlined).
  static const IconData ios_share_outlined = IconData(0xf138, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">iron</i> &#x2014; material icon named "iron".
  static const IconData iron = IconData(0xe34e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">iron</i> &#x2014; material icon named "iron" (sharp).
  static const IconData iron_sharp = IconData(0xea48, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">iron</i> &#x2014; material icon named "iron" (round).
  static const IconData iron_rounded = IconData(0xf827, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">iron</i> &#x2014; material icon named "iron" (outlined).
  static const IconData iron_outlined = IconData(0xf139, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">iso</i> &#x2014; material icon named "iso".
  static const IconData iso = IconData(0xe34f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">iso</i> &#x2014; material icon named "iso" (sharp).
  static const IconData iso_sharp = IconData(0xea49, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">iso</i> &#x2014; material icon named "iso" (round).
  static const IconData iso_rounded = IconData(0xf828, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">iso</i> &#x2014; material icon named "iso" (outlined).
  static const IconData iso_outlined = IconData(0xf13a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">javascript</i> &#x2014; material icon named "javascript".
  static const IconData javascript = IconData(0xf0525, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">javascript</i> &#x2014; material icon named "javascript" (sharp).
  static const IconData javascript_sharp = IconData(0xf042f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">javascript</i> &#x2014; material icon named "javascript" (round).
  static const IconData javascript_rounded = IconData(0xf033c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">javascript</i> &#x2014; material icon named "javascript" (outlined).
  static const IconData javascript_outlined = IconData(0xf061d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">join_full</i> &#x2014; material icon named "join full".
  static const IconData join_full = IconData(0xf0526, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">join_full</i> &#x2014; material icon named "join full" (sharp).
  static const IconData join_full_sharp = IconData(0xf0430, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">join_full</i> &#x2014; material icon named "join full" (round).
  static const IconData join_full_rounded = IconData(0xf033d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">join_full</i> &#x2014; material icon named "join full" (outlined).
  static const IconData join_full_outlined = IconData(0xf061e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">join_inner</i> &#x2014; material icon named "join inner".
  static const IconData join_inner = IconData(0xf0527, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">join_inner</i> &#x2014; material icon named "join inner" (sharp).
  static const IconData join_inner_sharp = IconData(0xf0431, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">join_inner</i> &#x2014; material icon named "join inner" (round).
  static const IconData join_inner_rounded = IconData(0xf033e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">join_inner</i> &#x2014; material icon named "join inner" (outlined).
  static const IconData join_inner_outlined = IconData(0xf061f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">join_left</i> &#x2014; material icon named "join left".
  static const IconData join_left = IconData(0xf0528, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">join_left</i> &#x2014; material icon named "join left" (sharp).
  static const IconData join_left_sharp = IconData(0xf0432, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">join_left</i> &#x2014; material icon named "join left" (round).
  static const IconData join_left_rounded = IconData(0xf033f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">join_left</i> &#x2014; material icon named "join left" (outlined).
  static const IconData join_left_outlined = IconData(0xf0620, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">join_right</i> &#x2014; material icon named "join right".
  static const IconData join_right = IconData(0xf0529, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">join_right</i> &#x2014; material icon named "join right" (sharp).
  static const IconData join_right_sharp = IconData(0xf0433, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">join_right</i> &#x2014; material icon named "join right" (round).
  static const IconData join_right_rounded = IconData(0xf0340, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">join_right</i> &#x2014; material icon named "join right" (outlined).
  static const IconData join_right_outlined = IconData(0xf0621, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">kayaking</i> &#x2014; material icon named "kayaking".
  static const IconData kayaking = IconData(0xe350, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">kayaking</i> &#x2014; material icon named "kayaking" (sharp).
  static const IconData kayaking_sharp = IconData(0xea4a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">kayaking</i> &#x2014; material icon named "kayaking" (round).
  static const IconData kayaking_rounded = IconData(0xf829, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">kayaking</i> &#x2014; material icon named "kayaking" (outlined).
  static const IconData kayaking_outlined = IconData(0xf13b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">kebab_dining</i> &#x2014; material icon named "kebab dining".
  static const IconData kebab_dining = IconData(0xf052a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">kebab_dining</i> &#x2014; material icon named "kebab dining" (sharp).
  static const IconData kebab_dining_sharp = IconData(0xf0434, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">kebab_dining</i> &#x2014; material icon named "kebab dining" (round).
  static const IconData kebab_dining_rounded = IconData(0xf0341, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">kebab_dining</i> &#x2014; material icon named "kebab dining" (outlined).
  static const IconData kebab_dining_outlined = IconData(0xf0622, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">key</i> &#x2014; material icon named "key".
  static const IconData key = IconData(0xf052b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">key</i> &#x2014; material icon named "key" (sharp).
  static const IconData key_sharp = IconData(0xf0436, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">key</i> &#x2014; material icon named "key" (round).
  static const IconData key_rounded = IconData(0xf0343, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">key</i> &#x2014; material icon named "key" (outlined).
  static const IconData key_outlined = IconData(0xf0624, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">key_off</i> &#x2014; material icon named "key off".
  static const IconData key_off = IconData(0xf052c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">key_off</i> &#x2014; material icon named "key off" (sharp).
  static const IconData key_off_sharp = IconData(0xf0435, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">key_off</i> &#x2014; material icon named "key off" (round).
  static const IconData key_off_rounded = IconData(0xf0342, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">key_off</i> &#x2014; material icon named "key off" (outlined).
  static const IconData key_off_outlined = IconData(0xf0623, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard</i> &#x2014; material icon named "keyboard".
  static const IconData keyboard = IconData(0xe351, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard</i> &#x2014; material icon named "keyboard" (sharp).
  static const IconData keyboard_sharp = IconData(0xea54, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard</i> &#x2014; material icon named "keyboard" (round).
  static const IconData keyboard_rounded = IconData(0xf833, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard</i> &#x2014; material icon named "keyboard" (outlined).
  static const IconData keyboard_outlined = IconData(0xf144, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_alt</i> &#x2014; material icon named "keyboard alt".
  static const IconData keyboard_alt = IconData(0xe352, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_alt</i> &#x2014; material icon named "keyboard alt" (sharp).
  static const IconData keyboard_alt_sharp = IconData(0xea4b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_alt</i> &#x2014; material icon named "keyboard alt" (round).
  static const IconData keyboard_alt_rounded = IconData(0xf82a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_alt</i> &#x2014; material icon named "keyboard alt" (outlined).
  static const IconData keyboard_alt_outlined = IconData(0xf13c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_arrow_down</i> &#x2014; material icon named "keyboard arrow down".
  static const IconData keyboard_arrow_down = IconData(0xe353, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_arrow_down</i> &#x2014; material icon named "keyboard arrow down" (sharp).
  static const IconData keyboard_arrow_down_sharp = IconData(0xea4c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_arrow_down</i> &#x2014; material icon named "keyboard arrow down" (round).
  static const IconData keyboard_arrow_down_rounded = IconData(0xf82b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_arrow_down</i> &#x2014; material icon named "keyboard arrow down" (outlined).
  static const IconData keyboard_arrow_down_outlined = IconData(0xf13d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_arrow_left</i> &#x2014; material icon named "keyboard arrow left".
  static const IconData keyboard_arrow_left = IconData(0xe354, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_arrow_left</i> &#x2014; material icon named "keyboard arrow left" (sharp).
  static const IconData keyboard_arrow_left_sharp = IconData(0xea4d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_arrow_left</i> &#x2014; material icon named "keyboard arrow left" (round).
  static const IconData keyboard_arrow_left_rounded = IconData(0xf82c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_arrow_left</i> &#x2014; material icon named "keyboard arrow left" (outlined).
  static const IconData keyboard_arrow_left_outlined = IconData(0xf13e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_arrow_right</i> &#x2014; material icon named "keyboard arrow right".
  static const IconData keyboard_arrow_right = IconData(0xe355, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_arrow_right</i> &#x2014; material icon named "keyboard arrow right" (sharp).
  static const IconData keyboard_arrow_right_sharp = IconData(0xea4e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_arrow_right</i> &#x2014; material icon named "keyboard arrow right" (round).
  static const IconData keyboard_arrow_right_rounded = IconData(0xf82d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_arrow_right</i> &#x2014; material icon named "keyboard arrow right" (outlined).
  static const IconData keyboard_arrow_right_outlined = IconData(0xf13f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_arrow_up</i> &#x2014; material icon named "keyboard arrow up".
  static const IconData keyboard_arrow_up = IconData(0xe356, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_arrow_up</i> &#x2014; material icon named "keyboard arrow up" (sharp).
  static const IconData keyboard_arrow_up_sharp = IconData(0xea4f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_arrow_up</i> &#x2014; material icon named "keyboard arrow up" (round).
  static const IconData keyboard_arrow_up_rounded = IconData(0xf82e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_arrow_up</i> &#x2014; material icon named "keyboard arrow up" (outlined).
  static const IconData keyboard_arrow_up_outlined = IconData(0xf140, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_backspace</i> &#x2014; material icon named "keyboard backspace".
  static const IconData keyboard_backspace = IconData(0xe357, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">keyboard_backspace</i> &#x2014; material icon named "keyboard backspace" (sharp).
  static const IconData keyboard_backspace_sharp = IconData(0xea50, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">keyboard_backspace</i> &#x2014; material icon named "keyboard backspace" (round).
  static const IconData keyboard_backspace_rounded = IconData(0xf82f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">keyboard_backspace</i> &#x2014; material icon named "keyboard backspace" (outlined).
  static const IconData keyboard_backspace_outlined = IconData(0xf141, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">keyboard_capslock</i> &#x2014; material icon named "keyboard capslock".
  static const IconData keyboard_capslock = IconData(0xe358, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_capslock</i> &#x2014; material icon named "keyboard capslock" (sharp).
  static const IconData keyboard_capslock_sharp = IconData(0xea51, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_capslock</i> &#x2014; material icon named "keyboard capslock" (round).
  static const IconData keyboard_capslock_rounded = IconData(0xf830, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_capslock</i> &#x2014; material icon named "keyboard capslock" (outlined).
  static const IconData keyboard_capslock_outlined = IconData(0xf142, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_command_key</i> &#x2014; material icon named "keyboard command key".
  static const IconData keyboard_command_key = IconData(0xf052d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_command_key</i> &#x2014; material icon named "keyboard command key" (sharp).
  static const IconData keyboard_command_key_sharp = IconData(0xf0437, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_command_key</i> &#x2014; material icon named "keyboard command key" (round).
  static const IconData keyboard_command_key_rounded = IconData(0xf0344, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_command_key</i> &#x2014; material icon named "keyboard command key" (outlined).
  static const IconData keyboard_command_key_outlined = IconData(0xf0625, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_control</i> &#x2014; material icon named "keyboard control".
  static const IconData keyboard_control = IconData(0xe402, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_control</i> &#x2014; material icon named "keyboard control" (sharp).
  static const IconData keyboard_control_sharp = IconData(0xeafa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_control</i> &#x2014; material icon named "keyboard control" (round).
  static const IconData keyboard_control_rounded = IconData(0xf8d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_control</i> &#x2014; material icon named "keyboard control" (outlined).
  static const IconData keyboard_control_outlined = IconData(0xf1e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_control_key</i> &#x2014; material icon named "keyboard control key".
  static const IconData keyboard_control_key = IconData(0xf052e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_control_key</i> &#x2014; material icon named "keyboard control key" (sharp).
  static const IconData keyboard_control_key_sharp = IconData(0xf0438, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_control_key</i> &#x2014; material icon named "keyboard control key" (round).
  static const IconData keyboard_control_key_rounded = IconData(0xf0345, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_control_key</i> &#x2014; material icon named "keyboard control key" (outlined).
  static const IconData keyboard_control_key_outlined = IconData(0xf0626, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_double_arrow_down</i> &#x2014; material icon named "keyboard double arrow down".
  static const IconData keyboard_double_arrow_down = IconData(0xf052f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_double_arrow_down</i> &#x2014; material icon named "keyboard double arrow down" (sharp).
  static const IconData keyboard_double_arrow_down_sharp = IconData(0xf0439, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_double_arrow_down</i> &#x2014; material icon named "keyboard double arrow down" (round).
  static const IconData keyboard_double_arrow_down_rounded = IconData(0xf0346, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_double_arrow_down</i> &#x2014; material icon named "keyboard double arrow down" (outlined).
  static const IconData keyboard_double_arrow_down_outlined = IconData(0xf0627, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_double_arrow_left</i> &#x2014; material icon named "keyboard double arrow left".
  static const IconData keyboard_double_arrow_left = IconData(0xf0530, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_double_arrow_left</i> &#x2014; material icon named "keyboard double arrow left" (sharp).
  static const IconData keyboard_double_arrow_left_sharp = IconData(0xf043a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_double_arrow_left</i> &#x2014; material icon named "keyboard double arrow left" (round).
  static const IconData keyboard_double_arrow_left_rounded = IconData(0xf0347, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_double_arrow_left</i> &#x2014; material icon named "keyboard double arrow left" (outlined).
  static const IconData keyboard_double_arrow_left_outlined = IconData(0xf0628, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_double_arrow_right</i> &#x2014; material icon named "keyboard double arrow right".
  static const IconData keyboard_double_arrow_right = IconData(0xf0531, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_double_arrow_right</i> &#x2014; material icon named "keyboard double arrow right" (sharp).
  static const IconData keyboard_double_arrow_right_sharp = IconData(0xf043b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_double_arrow_right</i> &#x2014; material icon named "keyboard double arrow right" (round).
  static const IconData keyboard_double_arrow_right_rounded = IconData(0xf0348, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_double_arrow_right</i> &#x2014; material icon named "keyboard double arrow right" (outlined).
  static const IconData keyboard_double_arrow_right_outlined = IconData(0xf0629, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_double_arrow_up</i> &#x2014; material icon named "keyboard double arrow up".
  static const IconData keyboard_double_arrow_up = IconData(0xf0532, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_double_arrow_up</i> &#x2014; material icon named "keyboard double arrow up" (sharp).
  static const IconData keyboard_double_arrow_up_sharp = IconData(0xf043c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_double_arrow_up</i> &#x2014; material icon named "keyboard double arrow up" (round).
  static const IconData keyboard_double_arrow_up_rounded = IconData(0xf0349, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_double_arrow_up</i> &#x2014; material icon named "keyboard double arrow up" (outlined).
  static const IconData keyboard_double_arrow_up_outlined = IconData(0xf062a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_hide</i> &#x2014; material icon named "keyboard hide".
  static const IconData keyboard_hide = IconData(0xe359, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_hide</i> &#x2014; material icon named "keyboard hide" (sharp).
  static const IconData keyboard_hide_sharp = IconData(0xea52, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_hide</i> &#x2014; material icon named "keyboard hide" (round).
  static const IconData keyboard_hide_rounded = IconData(0xf831, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_hide</i> &#x2014; material icon named "keyboard hide" (outlined).
  static const IconData keyboard_hide_outlined = IconData(0xf143, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_option_key</i> &#x2014; material icon named "keyboard option key".
  static const IconData keyboard_option_key = IconData(0xf0533, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_option_key</i> &#x2014; material icon named "keyboard option key" (sharp).
  static const IconData keyboard_option_key_sharp = IconData(0xf043d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_option_key</i> &#x2014; material icon named "keyboard option key" (round).
  static const IconData keyboard_option_key_rounded = IconData(0xf034a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_option_key</i> &#x2014; material icon named "keyboard option key" (outlined).
  static const IconData keyboard_option_key_outlined = IconData(0xf062b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_return</i> &#x2014; material icon named "keyboard return".
  static const IconData keyboard_return = IconData(0xe35a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_return</i> &#x2014; material icon named "keyboard return" (sharp).
  static const IconData keyboard_return_sharp = IconData(0xea53, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_return</i> &#x2014; material icon named "keyboard return" (round).
  static const IconData keyboard_return_rounded = IconData(0xf832, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_return</i> &#x2014; material icon named "keyboard return" (outlined).
  static const IconData keyboard_return_outlined = IconData(0xf145, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_tab</i> &#x2014; material icon named "keyboard tab".
  static const IconData keyboard_tab = IconData(0xe35b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">keyboard_tab</i> &#x2014; material icon named "keyboard tab" (sharp).
  static const IconData keyboard_tab_sharp = IconData(0xea55, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">keyboard_tab</i> &#x2014; material icon named "keyboard tab" (round).
  static const IconData keyboard_tab_rounded = IconData(0xf834, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">keyboard_tab</i> &#x2014; material icon named "keyboard tab" (outlined).
  static const IconData keyboard_tab_outlined = IconData(0xf146, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">keyboard_voice</i> &#x2014; material icon named "keyboard voice".
  static const IconData keyboard_voice = IconData(0xe35c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_voice</i> &#x2014; material icon named "keyboard voice" (sharp).
  static const IconData keyboard_voice_sharp = IconData(0xea56, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_voice</i> &#x2014; material icon named "keyboard voice" (round).
  static const IconData keyboard_voice_rounded = IconData(0xf835, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_voice</i> &#x2014; material icon named "keyboard voice" (outlined).
  static const IconData keyboard_voice_outlined = IconData(0xf147, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">king_bed</i> &#x2014; material icon named "king bed".
  static const IconData king_bed = IconData(0xe35d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">king_bed</i> &#x2014; material icon named "king bed" (sharp).
  static const IconData king_bed_sharp = IconData(0xea57, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">king_bed</i> &#x2014; material icon named "king bed" (round).
  static const IconData king_bed_rounded = IconData(0xf836, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">king_bed</i> &#x2014; material icon named "king bed" (outlined).
  static const IconData king_bed_outlined = IconData(0xf148, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">kitchen</i> &#x2014; material icon named "kitchen".
  static const IconData kitchen = IconData(0xe35e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">kitchen</i> &#x2014; material icon named "kitchen" (sharp).
  static const IconData kitchen_sharp = IconData(0xea58, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">kitchen</i> &#x2014; material icon named "kitchen" (round).
  static const IconData kitchen_rounded = IconData(0xf837, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">kitchen</i> &#x2014; material icon named "kitchen" (outlined).
  static const IconData kitchen_outlined = IconData(0xf149, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">kitesurfing</i> &#x2014; material icon named "kitesurfing".
  static const IconData kitesurfing = IconData(0xe35f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">kitesurfing</i> &#x2014; material icon named "kitesurfing" (sharp).
  static const IconData kitesurfing_sharp = IconData(0xea59, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">kitesurfing</i> &#x2014; material icon named "kitesurfing" (round).
  static const IconData kitesurfing_rounded = IconData(0xf838, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">kitesurfing</i> &#x2014; material icon named "kitesurfing" (outlined).
  static const IconData kitesurfing_outlined = IconData(0xf14a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">label</i> &#x2014; material icon named "label".
  static const IconData label = IconData(0xe360, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">label</i> &#x2014; material icon named "label" (sharp).
  static const IconData label_sharp = IconData(0xea5e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">label</i> &#x2014; material icon named "label" (round).
  static const IconData label_rounded = IconData(0xf83d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">label</i> &#x2014; material icon named "label" (outlined).
  static const IconData label_outlined = IconData(0xf14d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">label_important</i> &#x2014; material icon named "label important".
  static const IconData label_important = IconData(0xe361, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">label_important</i> &#x2014; material icon named "label important" (sharp).
  static const IconData label_important_sharp = IconData(0xea5b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">label_important</i> &#x2014; material icon named "label important" (round).
  static const IconData label_important_rounded = IconData(0xf83a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">label_important</i> &#x2014; material icon named "label important" (outlined).
  static const IconData label_important_outlined = IconData(0xf14b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">label_important_outline</i> &#x2014; material icon named "label important outline".
  static const IconData label_important_outline = IconData(0xe362, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">label_important_outline</i> &#x2014; material icon named "label important outline" (sharp).
  static const IconData label_important_outline_sharp = IconData(0xea5a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">label_important_outline</i> &#x2014; material icon named "label important outline" (round).
  static const IconData label_important_outline_rounded = IconData(0xf839, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">label_off</i> &#x2014; material icon named "label off".
  static const IconData label_off = IconData(0xe363, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">label_off</i> &#x2014; material icon named "label off" (sharp).
  static const IconData label_off_sharp = IconData(0xea5c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">label_off</i> &#x2014; material icon named "label off" (round).
  static const IconData label_off_rounded = IconData(0xf83b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">label_off</i> &#x2014; material icon named "label off" (outlined).
  static const IconData label_off_outlined = IconData(0xf14c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">label_outline</i> &#x2014; material icon named "label outline".
  static const IconData label_outline = IconData(0xe364, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">label_outline</i> &#x2014; material icon named "label outline" (sharp).
  static const IconData label_outline_sharp = IconData(0xea5d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">label_outline</i> &#x2014; material icon named "label outline" (round).
  static const IconData label_outline_rounded = IconData(0xf83c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">lan</i> &#x2014; material icon named "lan".
  static const IconData lan = IconData(0xf0534, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lan</i> &#x2014; material icon named "lan" (sharp).
  static const IconData lan_sharp = IconData(0xf043e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lan</i> &#x2014; material icon named "lan" (round).
  static const IconData lan_rounded = IconData(0xf034b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lan</i> &#x2014; material icon named "lan" (outlined).
  static const IconData lan_outlined = IconData(0xf062c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">landscape</i> &#x2014; material icon named "landscape".
  static const IconData landscape = IconData(0xe365, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">landscape</i> &#x2014; material icon named "landscape" (sharp).
  static const IconData landscape_sharp = IconData(0xea5f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">landscape</i> &#x2014; material icon named "landscape" (round).
  static const IconData landscape_rounded = IconData(0xf83e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">landscape</i> &#x2014; material icon named "landscape" (outlined).
  static const IconData landscape_outlined = IconData(0xf14e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">landslide</i> &#x2014; material icon named "landslide".
  static const IconData landslide = IconData(0xf07a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">landslide</i> &#x2014; material icon named "landslide" (sharp).
  static const IconData landslide_sharp = IconData(0xf074e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">landslide</i> &#x2014; material icon named "landslide" (round).
  static const IconData landslide_rounded = IconData(0xf07fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">landslide</i> &#x2014; material icon named "landslide" (outlined).
  static const IconData landslide_outlined = IconData(0xf06f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">language</i> &#x2014; material icon named "language".
  static const IconData language = IconData(0xe366, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">language</i> &#x2014; material icon named "language" (sharp).
  static const IconData language_sharp = IconData(0xea60, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">language</i> &#x2014; material icon named "language" (round).
  static const IconData language_rounded = IconData(0xf83f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">language</i> &#x2014; material icon named "language" (outlined).
  static const IconData language_outlined = IconData(0xf14f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">laptop</i> &#x2014; material icon named "laptop".
  static const IconData laptop = IconData(0xe367, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">laptop</i> &#x2014; material icon named "laptop" (sharp).
  static const IconData laptop_sharp = IconData(0xea63, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">laptop</i> &#x2014; material icon named "laptop" (round).
  static const IconData laptop_rounded = IconData(0xf842, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">laptop</i> &#x2014; material icon named "laptop" (outlined).
  static const IconData laptop_outlined = IconData(0xf152, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">laptop_chromebook</i> &#x2014; material icon named "laptop chromebook".
  static const IconData laptop_chromebook = IconData(0xe368, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">laptop_chromebook</i> &#x2014; material icon named "laptop chromebook" (sharp).
  static const IconData laptop_chromebook_sharp = IconData(0xea61, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">laptop_chromebook</i> &#x2014; material icon named "laptop chromebook" (round).
  static const IconData laptop_chromebook_rounded = IconData(0xf840, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">laptop_chromebook</i> &#x2014; material icon named "laptop chromebook" (outlined).
  static const IconData laptop_chromebook_outlined = IconData(0xf150, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">laptop_mac</i> &#x2014; material icon named "laptop mac".
  static const IconData laptop_mac = IconData(0xe369, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">laptop_mac</i> &#x2014; material icon named "laptop mac" (sharp).
  static const IconData laptop_mac_sharp = IconData(0xea62, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">laptop_mac</i> &#x2014; material icon named "laptop mac" (round).
  static const IconData laptop_mac_rounded = IconData(0xf841, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">laptop_mac</i> &#x2014; material icon named "laptop mac" (outlined).
  static const IconData laptop_mac_outlined = IconData(0xf151, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">laptop_windows</i> &#x2014; material icon named "laptop windows".
  static const IconData laptop_windows = IconData(0xe36a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">laptop_windows</i> &#x2014; material icon named "laptop windows" (sharp).
  static const IconData laptop_windows_sharp = IconData(0xea64, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">laptop_windows</i> &#x2014; material icon named "laptop windows" (round).
  static const IconData laptop_windows_rounded = IconData(0xf843, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">laptop_windows</i> &#x2014; material icon named "laptop windows" (outlined).
  static const IconData laptop_windows_outlined = IconData(0xf153, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">last_page</i> &#x2014; material icon named "last page".
  static const IconData last_page = IconData(0xe36b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">last_page</i> &#x2014; material icon named "last page" (sharp).
  static const IconData last_page_sharp = IconData(0xea65, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">last_page</i> &#x2014; material icon named "last page" (round).
  static const IconData last_page_rounded = IconData(0xf844, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">last_page</i> &#x2014; material icon named "last page" (outlined).
  static const IconData last_page_outlined = IconData(0xf154, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">launch</i> &#x2014; material icon named "launch".
  static const IconData launch = IconData(0xe36c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">launch</i> &#x2014; material icon named "launch" (sharp).
  static const IconData launch_sharp = IconData(0xea66, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">launch</i> &#x2014; material icon named "launch" (round).
  static const IconData launch_rounded = IconData(0xf845, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">launch</i> &#x2014; material icon named "launch" (outlined).
  static const IconData launch_outlined = IconData(0xf155, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">layers</i> &#x2014; material icon named "layers".
  static const IconData layers = IconData(0xe36d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">layers</i> &#x2014; material icon named "layers" (sharp).
  static const IconData layers_sharp = IconData(0xea68, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">layers</i> &#x2014; material icon named "layers" (round).
  static const IconData layers_rounded = IconData(0xf847, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">layers</i> &#x2014; material icon named "layers" (outlined).
  static const IconData layers_outlined = IconData(0xf157, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">layers_clear</i> &#x2014; material icon named "layers clear".
  static const IconData layers_clear = IconData(0xe36e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">layers_clear</i> &#x2014; material icon named "layers clear" (sharp).
  static const IconData layers_clear_sharp = IconData(0xea67, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">layers_clear</i> &#x2014; material icon named "layers clear" (round).
  static const IconData layers_clear_rounded = IconData(0xf846, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">layers_clear</i> &#x2014; material icon named "layers clear" (outlined).
  static const IconData layers_clear_outlined = IconData(0xf156, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">leaderboard</i> &#x2014; material icon named "leaderboard".
  static const IconData leaderboard = IconData(0xe36f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">leaderboard</i> &#x2014; material icon named "leaderboard" (sharp).
  static const IconData leaderboard_sharp = IconData(0xea69, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">leaderboard</i> &#x2014; material icon named "leaderboard" (round).
  static const IconData leaderboard_rounded = IconData(0xf848, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">leaderboard</i> &#x2014; material icon named "leaderboard" (outlined).
  static const IconData leaderboard_outlined = IconData(0xf158, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">leak_add</i> &#x2014; material icon named "leak add".
  static const IconData leak_add = IconData(0xe370, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">leak_add</i> &#x2014; material icon named "leak add" (sharp).
  static const IconData leak_add_sharp = IconData(0xea6a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">leak_add</i> &#x2014; material icon named "leak add" (round).
  static const IconData leak_add_rounded = IconData(0xf849, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">leak_add</i> &#x2014; material icon named "leak add" (outlined).
  static const IconData leak_add_outlined = IconData(0xf159, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">leak_remove</i> &#x2014; material icon named "leak remove".
  static const IconData leak_remove = IconData(0xe371, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">leak_remove</i> &#x2014; material icon named "leak remove" (sharp).
  static const IconData leak_remove_sharp = IconData(0xea6b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">leak_remove</i> &#x2014; material icon named "leak remove" (round).
  static const IconData leak_remove_rounded = IconData(0xf84a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">leak_remove</i> &#x2014; material icon named "leak remove" (outlined).
  static const IconData leak_remove_outlined = IconData(0xf15a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">leave_bags_at_home</i> &#x2014; material icon named "leave bags at home".
  static const IconData leave_bags_at_home = IconData(0xe439, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">leave_bags_at_home</i> &#x2014; material icon named "leave bags at home" (sharp).
  static const IconData leave_bags_at_home_sharp = IconData(0xeb32, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">leave_bags_at_home</i> &#x2014; material icon named "leave bags at home" (round).
  static const IconData leave_bags_at_home_rounded = IconData(0xf0011, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">leave_bags_at_home</i> &#x2014; material icon named "leave bags at home" (outlined).
  static const IconData leave_bags_at_home_outlined = IconData(0xf21f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">legend_toggle</i> &#x2014; material icon named "legend toggle".
  static const IconData legend_toggle = IconData(0xe372, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">legend_toggle</i> &#x2014; material icon named "legend toggle" (sharp).
  static const IconData legend_toggle_sharp = IconData(0xea6c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">legend_toggle</i> &#x2014; material icon named "legend toggle" (round).
  static const IconData legend_toggle_rounded = IconData(0xf84b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">legend_toggle</i> &#x2014; material icon named "legend toggle" (outlined).
  static const IconData legend_toggle_outlined = IconData(0xf15b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lens</i> &#x2014; material icon named "lens".
  static const IconData lens = IconData(0xe373, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lens</i> &#x2014; material icon named "lens" (sharp).
  static const IconData lens_sharp = IconData(0xea6e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lens</i> &#x2014; material icon named "lens" (round).
  static const IconData lens_rounded = IconData(0xf84d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lens</i> &#x2014; material icon named "lens" (outlined).
  static const IconData lens_outlined = IconData(0xf15d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lens_blur</i> &#x2014; material icon named "lens blur".
  static const IconData lens_blur = IconData(0xe374, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lens_blur</i> &#x2014; material icon named "lens blur" (sharp).
  static const IconData lens_blur_sharp = IconData(0xea6d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lens_blur</i> &#x2014; material icon named "lens blur" (round).
  static const IconData lens_blur_rounded = IconData(0xf84c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lens_blur</i> &#x2014; material icon named "lens blur" (outlined).
  static const IconData lens_blur_outlined = IconData(0xf15c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">library_add</i> &#x2014; material icon named "library add".
  static const IconData library_add = IconData(0xe375, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">library_add</i> &#x2014; material icon named "library add" (sharp).
  static const IconData library_add_sharp = IconData(0xea70, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">library_add</i> &#x2014; material icon named "library add" (round).
  static const IconData library_add_rounded = IconData(0xf84f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">library_add</i> &#x2014; material icon named "library add" (outlined).
  static const IconData library_add_outlined = IconData(0xf15f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">library_add_check</i> &#x2014; material icon named "library add check".
  static const IconData library_add_check = IconData(0xe376, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">library_add_check</i> &#x2014; material icon named "library add check" (sharp).
  static const IconData library_add_check_sharp = IconData(0xea6f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">library_add_check</i> &#x2014; material icon named "library add check" (round).
  static const IconData library_add_check_rounded = IconData(0xf84e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">library_add_check</i> &#x2014; material icon named "library add check" (outlined).
  static const IconData library_add_check_outlined = IconData(0xf15e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">library_books</i> &#x2014; material icon named "library books".
  static const IconData library_books = IconData(0xe377, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">library_books</i> &#x2014; material icon named "library books" (sharp).
  static const IconData library_books_sharp = IconData(0xea71, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">library_books</i> &#x2014; material icon named "library books" (round).
  static const IconData library_books_rounded = IconData(0xf850, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">library_books</i> &#x2014; material icon named "library books" (outlined).
  static const IconData library_books_outlined = IconData(0xf160, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">library_music</i> &#x2014; material icon named "library music".
  static const IconData library_music = IconData(0xe378, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">library_music</i> &#x2014; material icon named "library music" (sharp).
  static const IconData library_music_sharp = IconData(0xea72, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">library_music</i> &#x2014; material icon named "library music" (round).
  static const IconData library_music_rounded = IconData(0xf851, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">library_music</i> &#x2014; material icon named "library music" (outlined).
  static const IconData library_music_outlined = IconData(0xf161, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">light</i> &#x2014; material icon named "light".
  static const IconData light = IconData(0xe379, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">light</i> &#x2014; material icon named "light" (sharp).
  static const IconData light_sharp = IconData(0xea74, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">light</i> &#x2014; material icon named "light" (round).
  static const IconData light_rounded = IconData(0xf853, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">light</i> &#x2014; material icon named "light" (outlined).
  static const IconData light_outlined = IconData(0xf163, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">light_mode</i> &#x2014; material icon named "light mode".
  static const IconData light_mode = IconData(0xe37a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">light_mode</i> &#x2014; material icon named "light mode" (sharp).
  static const IconData light_mode_sharp = IconData(0xea73, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">light_mode</i> &#x2014; material icon named "light mode" (round).
  static const IconData light_mode_rounded = IconData(0xf852, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">light_mode</i> &#x2014; material icon named "light mode" (outlined).
  static const IconData light_mode_outlined = IconData(0xf162, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lightbulb</i> &#x2014; material icon named "lightbulb".
  static const IconData lightbulb = IconData(0xe37b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lightbulb</i> &#x2014; material icon named "lightbulb" (sharp).
  static const IconData lightbulb_sharp = IconData(0xea76, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lightbulb</i> &#x2014; material icon named "lightbulb" (round).
  static const IconData lightbulb_rounded = IconData(0xf855, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lightbulb</i> &#x2014; material icon named "lightbulb" (outlined).
  static const IconData lightbulb_outlined = IconData(0xf164, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lightbulb_circle</i> &#x2014; material icon named "lightbulb circle".
  static const IconData lightbulb_circle = IconData(0xf07a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lightbulb_circle</i> &#x2014; material icon named "lightbulb circle" (sharp).
  static const IconData lightbulb_circle_sharp = IconData(0xf074f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lightbulb_circle</i> &#x2014; material icon named "lightbulb circle" (round).
  static const IconData lightbulb_circle_rounded = IconData(0xf07ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lightbulb_circle</i> &#x2014; material icon named "lightbulb circle" (outlined).
  static const IconData lightbulb_circle_outlined = IconData(0xf06f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lightbulb_outline</i> &#x2014; material icon named "lightbulb outline".
  static const IconData lightbulb_outline = IconData(0xe37c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lightbulb_outline</i> &#x2014; material icon named "lightbulb outline" (sharp).
  static const IconData lightbulb_outline_sharp = IconData(0xea75, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lightbulb_outline</i> &#x2014; material icon named "lightbulb outline" (round).
  static const IconData lightbulb_outline_rounded = IconData(0xf854, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">line_axis</i> &#x2014; material icon named "line axis".
  static const IconData line_axis = IconData(0xf0535, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">line_axis</i> &#x2014; material icon named "line axis" (sharp).
  static const IconData line_axis_sharp = IconData(0xf043f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">line_axis</i> &#x2014; material icon named "line axis" (round).
  static const IconData line_axis_rounded = IconData(0xf034c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">line_axis</i> &#x2014; material icon named "line axis" (outlined).
  static const IconData line_axis_outlined = IconData(0xf062d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">line_style</i> &#x2014; material icon named "line style".
  static const IconData line_style = IconData(0xe37d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">line_style</i> &#x2014; material icon named "line style" (sharp).
  static const IconData line_style_sharp = IconData(0xea77, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">line_style</i> &#x2014; material icon named "line style" (round).
  static const IconData line_style_rounded = IconData(0xf856, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">line_style</i> &#x2014; material icon named "line style" (outlined).
  static const IconData line_style_outlined = IconData(0xf165, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">line_weight</i> &#x2014; material icon named "line weight".
  static const IconData line_weight = IconData(0xe37e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">line_weight</i> &#x2014; material icon named "line weight" (sharp).
  static const IconData line_weight_sharp = IconData(0xea78, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">line_weight</i> &#x2014; material icon named "line weight" (round).
  static const IconData line_weight_rounded = IconData(0xf857, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">line_weight</i> &#x2014; material icon named "line weight" (outlined).
  static const IconData line_weight_outlined = IconData(0xf166, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">linear_scale</i> &#x2014; material icon named "linear scale".
  static const IconData linear_scale = IconData(0xe37f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">linear_scale</i> &#x2014; material icon named "linear scale" (sharp).
  static const IconData linear_scale_sharp = IconData(0xea79, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">linear_scale</i> &#x2014; material icon named "linear scale" (round).
  static const IconData linear_scale_rounded = IconData(0xf858, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">linear_scale</i> &#x2014; material icon named "linear scale" (outlined).
  static const IconData linear_scale_outlined = IconData(0xf167, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">link</i> &#x2014; material icon named "link".
  static const IconData link = IconData(0xe380, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">link</i> &#x2014; material icon named "link" (sharp).
  static const IconData link_sharp = IconData(0xea7b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">link</i> &#x2014; material icon named "link" (round).
  static const IconData link_rounded = IconData(0xf85a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">link</i> &#x2014; material icon named "link" (outlined).
  static const IconData link_outlined = IconData(0xf169, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">link_off</i> &#x2014; material icon named "link off".
  static const IconData link_off = IconData(0xe381, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">link_off</i> &#x2014; material icon named "link off" (sharp).
  static const IconData link_off_sharp = IconData(0xea7a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">link_off</i> &#x2014; material icon named "link off" (round).
  static const IconData link_off_rounded = IconData(0xf859, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">link_off</i> &#x2014; material icon named "link off" (outlined).
  static const IconData link_off_outlined = IconData(0xf168, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">linked_camera</i> &#x2014; material icon named "linked camera".
  static const IconData linked_camera = IconData(0xe382, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">linked_camera</i> &#x2014; material icon named "linked camera" (sharp).
  static const IconData linked_camera_sharp = IconData(0xea7c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">linked_camera</i> &#x2014; material icon named "linked camera" (round).
  static const IconData linked_camera_rounded = IconData(0xf85b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">linked_camera</i> &#x2014; material icon named "linked camera" (outlined).
  static const IconData linked_camera_outlined = IconData(0xf16a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">liquor</i> &#x2014; material icon named "liquor".
  static const IconData liquor = IconData(0xe383, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">liquor</i> &#x2014; material icon named "liquor" (sharp).
  static const IconData liquor_sharp = IconData(0xea7d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">liquor</i> &#x2014; material icon named "liquor" (round).
  static const IconData liquor_rounded = IconData(0xf85c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">liquor</i> &#x2014; material icon named "liquor" (outlined).
  static const IconData liquor_outlined = IconData(0xf16b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">list</i> &#x2014; material icon named "list".
  static const IconData list = IconData(0xe384, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">list</i> &#x2014; material icon named "list" (sharp).
  static const IconData list_sharp = IconData(0xea7f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">list</i> &#x2014; material icon named "list" (round).
  static const IconData list_rounded = IconData(0xf85e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">list</i> &#x2014; material icon named "list" (outlined).
  static const IconData list_outlined = IconData(0xf16d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">list_alt</i> &#x2014; material icon named "list alt".
  static const IconData list_alt = IconData(0xe385, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">list_alt</i> &#x2014; material icon named "list alt" (sharp).
  static const IconData list_alt_sharp = IconData(0xea7e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">list_alt</i> &#x2014; material icon named "list alt" (round).
  static const IconData list_alt_rounded = IconData(0xf85d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">list_alt</i> &#x2014; material icon named "list alt" (outlined).
  static const IconData list_alt_outlined = IconData(0xf16c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">live_help</i> &#x2014; material icon named "live help".
  static const IconData live_help = IconData(0xe386, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">live_help</i> &#x2014; material icon named "live help" (sharp).
  static const IconData live_help_sharp = IconData(0xea80, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">live_help</i> &#x2014; material icon named "live help" (round).
  static const IconData live_help_rounded = IconData(0xf85f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">live_help</i> &#x2014; material icon named "live help" (outlined).
  static const IconData live_help_outlined = IconData(0xf16e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">live_tv</i> &#x2014; material icon named "live tv".
  static const IconData live_tv = IconData(0xe387, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">live_tv</i> &#x2014; material icon named "live tv" (sharp).
  static const IconData live_tv_sharp = IconData(0xea81, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">live_tv</i> &#x2014; material icon named "live tv" (round).
  static const IconData live_tv_rounded = IconData(0xf860, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">live_tv</i> &#x2014; material icon named "live tv" (outlined).
  static const IconData live_tv_outlined = IconData(0xf16f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">living</i> &#x2014; material icon named "living".
  static const IconData living = IconData(0xe388, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">living</i> &#x2014; material icon named "living" (sharp).
  static const IconData living_sharp = IconData(0xea82, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">living</i> &#x2014; material icon named "living" (round).
  static const IconData living_rounded = IconData(0xf861, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">living</i> &#x2014; material icon named "living" (outlined).
  static const IconData living_outlined = IconData(0xf170, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_activity</i> &#x2014; material icon named "local activity".
  static const IconData local_activity = IconData(0xe389, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_activity</i> &#x2014; material icon named "local activity" (sharp).
  static const IconData local_activity_sharp = IconData(0xea83, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_activity</i> &#x2014; material icon named "local activity" (round).
  static const IconData local_activity_rounded = IconData(0xf862, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_activity</i> &#x2014; material icon named "local activity" (outlined).
  static const IconData local_activity_outlined = IconData(0xf171, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_airport</i> &#x2014; material icon named "local airport".
  static const IconData local_airport = IconData(0xe38a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_airport</i> &#x2014; material icon named "local airport" (sharp).
  static const IconData local_airport_sharp = IconData(0xea84, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_airport</i> &#x2014; material icon named "local airport" (round).
  static const IconData local_airport_rounded = IconData(0xf863, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_airport</i> &#x2014; material icon named "local airport" (outlined).
  static const IconData local_airport_outlined = IconData(0xf172, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_atm</i> &#x2014; material icon named "local atm".
  static const IconData local_atm = IconData(0xe38b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_atm</i> &#x2014; material icon named "local atm" (sharp).
  static const IconData local_atm_sharp = IconData(0xea85, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_atm</i> &#x2014; material icon named "local atm" (round).
  static const IconData local_atm_rounded = IconData(0xf864, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_atm</i> &#x2014; material icon named "local atm" (outlined).
  static const IconData local_atm_outlined = IconData(0xf173, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_attraction</i> &#x2014; material icon named "local attraction".
  static const IconData local_attraction = IconData(0xe389, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_attraction</i> &#x2014; material icon named "local attraction" (sharp).
  static const IconData local_attraction_sharp = IconData(0xea83, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_attraction</i> &#x2014; material icon named "local attraction" (round).
  static const IconData local_attraction_rounded = IconData(0xf862, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_attraction</i> &#x2014; material icon named "local attraction" (outlined).
  static const IconData local_attraction_outlined = IconData(0xf171, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_bar</i> &#x2014; material icon named "local bar".
  static const IconData local_bar = IconData(0xe38c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_bar</i> &#x2014; material icon named "local bar" (sharp).
  static const IconData local_bar_sharp = IconData(0xea86, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_bar</i> &#x2014; material icon named "local bar" (round).
  static const IconData local_bar_rounded = IconData(0xf865, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_bar</i> &#x2014; material icon named "local bar" (outlined).
  static const IconData local_bar_outlined = IconData(0xf174, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_cafe</i> &#x2014; material icon named "local cafe".
  static const IconData local_cafe = IconData(0xe38d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_cafe</i> &#x2014; material icon named "local cafe" (sharp).
  static const IconData local_cafe_sharp = IconData(0xea87, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_cafe</i> &#x2014; material icon named "local cafe" (round).
  static const IconData local_cafe_rounded = IconData(0xf866, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_cafe</i> &#x2014; material icon named "local cafe" (outlined).
  static const IconData local_cafe_outlined = IconData(0xf175, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_car_wash</i> &#x2014; material icon named "local car wash".
  static const IconData local_car_wash = IconData(0xe38e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_car_wash</i> &#x2014; material icon named "local car wash" (sharp).
  static const IconData local_car_wash_sharp = IconData(0xea88, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_car_wash</i> &#x2014; material icon named "local car wash" (round).
  static const IconData local_car_wash_rounded = IconData(0xf867, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_car_wash</i> &#x2014; material icon named "local car wash" (outlined).
  static const IconData local_car_wash_outlined = IconData(0xf176, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_convenience_store</i> &#x2014; material icon named "local convenience store".
  static const IconData local_convenience_store = IconData(0xe38f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_convenience_store</i> &#x2014; material icon named "local convenience store" (sharp).
  static const IconData local_convenience_store_sharp = IconData(0xea89, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_convenience_store</i> &#x2014; material icon named "local convenience store" (round).
  static const IconData local_convenience_store_rounded = IconData(0xf868, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_convenience_store</i> &#x2014; material icon named "local convenience store" (outlined).
  static const IconData local_convenience_store_outlined = IconData(0xf177, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_dining</i> &#x2014; material icon named "local dining".
  static const IconData local_dining = IconData(0xe390, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_dining</i> &#x2014; material icon named "local dining" (sharp).
  static const IconData local_dining_sharp = IconData(0xea8a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_dining</i> &#x2014; material icon named "local dining" (round).
  static const IconData local_dining_rounded = IconData(0xf869, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_dining</i> &#x2014; material icon named "local dining" (outlined).
  static const IconData local_dining_outlined = IconData(0xf178, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_drink</i> &#x2014; material icon named "local drink".
  static const IconData local_drink = IconData(0xe391, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_drink</i> &#x2014; material icon named "local drink" (sharp).
  static const IconData local_drink_sharp = IconData(0xea8b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_drink</i> &#x2014; material icon named "local drink" (round).
  static const IconData local_drink_rounded = IconData(0xf86a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_drink</i> &#x2014; material icon named "local drink" (outlined).
  static const IconData local_drink_outlined = IconData(0xf179, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_fire_department</i> &#x2014; material icon named "local fire department".
  static const IconData local_fire_department = IconData(0xe392, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_fire_department</i> &#x2014; material icon named "local fire department" (sharp).
  static const IconData local_fire_department_sharp = IconData(0xea8c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_fire_department</i> &#x2014; material icon named "local fire department" (round).
  static const IconData local_fire_department_rounded = IconData(0xf86b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_fire_department</i> &#x2014; material icon named "local fire department" (outlined).
  static const IconData local_fire_department_outlined = IconData(0xf17a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_florist</i> &#x2014; material icon named "local florist".
  static const IconData local_florist = IconData(0xe393, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_florist</i> &#x2014; material icon named "local florist" (sharp).
  static const IconData local_florist_sharp = IconData(0xea8d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_florist</i> &#x2014; material icon named "local florist" (round).
  static const IconData local_florist_rounded = IconData(0xf86c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_florist</i> &#x2014; material icon named "local florist" (outlined).
  static const IconData local_florist_outlined = IconData(0xf17b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_gas_station</i> &#x2014; material icon named "local gas station".
  static const IconData local_gas_station = IconData(0xe394, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_gas_station</i> &#x2014; material icon named "local gas station" (sharp).
  static const IconData local_gas_station_sharp = IconData(0xea8e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_gas_station</i> &#x2014; material icon named "local gas station" (round).
  static const IconData local_gas_station_rounded = IconData(0xf86d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_gas_station</i> &#x2014; material icon named "local gas station" (outlined).
  static const IconData local_gas_station_outlined = IconData(0xf17c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_grocery_store</i> &#x2014; material icon named "local grocery store".
  static const IconData local_grocery_store = IconData(0xe395, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_grocery_store</i> &#x2014; material icon named "local grocery store" (sharp).
  static const IconData local_grocery_store_sharp = IconData(0xea8f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_grocery_store</i> &#x2014; material icon named "local grocery store" (round).
  static const IconData local_grocery_store_rounded = IconData(0xf86e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_grocery_store</i> &#x2014; material icon named "local grocery store" (outlined).
  static const IconData local_grocery_store_outlined = IconData(0xf17d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_hospital</i> &#x2014; material icon named "local hospital".
  static const IconData local_hospital = IconData(0xe396, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_hospital</i> &#x2014; material icon named "local hospital" (sharp).
  static const IconData local_hospital_sharp = IconData(0xea90, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_hospital</i> &#x2014; material icon named "local hospital" (round).
  static const IconData local_hospital_rounded = IconData(0xf86f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_hospital</i> &#x2014; material icon named "local hospital" (outlined).
  static const IconData local_hospital_outlined = IconData(0xf17e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_hotel</i> &#x2014; material icon named "local hotel".
  static const IconData local_hotel = IconData(0xe397, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_hotel</i> &#x2014; material icon named "local hotel" (sharp).
  static const IconData local_hotel_sharp = IconData(0xea91, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_hotel</i> &#x2014; material icon named "local hotel" (round).
  static const IconData local_hotel_rounded = IconData(0xf870, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_hotel</i> &#x2014; material icon named "local hotel" (outlined).
  static const IconData local_hotel_outlined = IconData(0xf17f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_laundry_service</i> &#x2014; material icon named "local laundry service".
  static const IconData local_laundry_service = IconData(0xe398, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_laundry_service</i> &#x2014; material icon named "local laundry service" (sharp).
  static const IconData local_laundry_service_sharp = IconData(0xea92, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_laundry_service</i> &#x2014; material icon named "local laundry service" (round).
  static const IconData local_laundry_service_rounded = IconData(0xf871, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_laundry_service</i> &#x2014; material icon named "local laundry service" (outlined).
  static const IconData local_laundry_service_outlined = IconData(0xf180, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_library</i> &#x2014; material icon named "local library".
  static const IconData local_library = IconData(0xe399, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_library</i> &#x2014; material icon named "local library" (sharp).
  static const IconData local_library_sharp = IconData(0xea93, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_library</i> &#x2014; material icon named "local library" (round).
  static const IconData local_library_rounded = IconData(0xf872, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_library</i> &#x2014; material icon named "local library" (outlined).
  static const IconData local_library_outlined = IconData(0xf181, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_mall</i> &#x2014; material icon named "local mall".
  static const IconData local_mall = IconData(0xe39a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_mall</i> &#x2014; material icon named "local mall" (sharp).
  static const IconData local_mall_sharp = IconData(0xea94, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_mall</i> &#x2014; material icon named "local mall" (round).
  static const IconData local_mall_rounded = IconData(0xf873, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_mall</i> &#x2014; material icon named "local mall" (outlined).
  static const IconData local_mall_outlined = IconData(0xf182, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_movies</i> &#x2014; material icon named "local movies".
  static const IconData local_movies = IconData(0xe39b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_movies</i> &#x2014; material icon named "local movies" (sharp).
  static const IconData local_movies_sharp = IconData(0xea95, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_movies</i> &#x2014; material icon named "local movies" (round).
  static const IconData local_movies_rounded = IconData(0xf874, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_movies</i> &#x2014; material icon named "local movies" (outlined).
  static const IconData local_movies_outlined = IconData(0xf183, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_offer</i> &#x2014; material icon named "local offer".
  static const IconData local_offer = IconData(0xe39c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_offer</i> &#x2014; material icon named "local offer" (sharp).
  static const IconData local_offer_sharp = IconData(0xea96, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_offer</i> &#x2014; material icon named "local offer" (round).
  static const IconData local_offer_rounded = IconData(0xf875, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_offer</i> &#x2014; material icon named "local offer" (outlined).
  static const IconData local_offer_outlined = IconData(0xf184, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_parking</i> &#x2014; material icon named "local parking".
  static const IconData local_parking = IconData(0xe39d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_parking</i> &#x2014; material icon named "local parking" (sharp).
  static const IconData local_parking_sharp = IconData(0xea97, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_parking</i> &#x2014; material icon named "local parking" (round).
  static const IconData local_parking_rounded = IconData(0xf876, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_parking</i> &#x2014; material icon named "local parking" (outlined).
  static const IconData local_parking_outlined = IconData(0xf185, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_pharmacy</i> &#x2014; material icon named "local pharmacy".
  static const IconData local_pharmacy = IconData(0xe39e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_pharmacy</i> &#x2014; material icon named "local pharmacy" (sharp).
  static const IconData local_pharmacy_sharp = IconData(0xea98, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_pharmacy</i> &#x2014; material icon named "local pharmacy" (round).
  static const IconData local_pharmacy_rounded = IconData(0xf877, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_pharmacy</i> &#x2014; material icon named "local pharmacy" (outlined).
  static const IconData local_pharmacy_outlined = IconData(0xf186, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_phone</i> &#x2014; material icon named "local phone".
  static const IconData local_phone = IconData(0xe39f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_phone</i> &#x2014; material icon named "local phone" (sharp).
  static const IconData local_phone_sharp = IconData(0xea99, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_phone</i> &#x2014; material icon named "local phone" (round).
  static const IconData local_phone_rounded = IconData(0xf878, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_phone</i> &#x2014; material icon named "local phone" (outlined).
  static const IconData local_phone_outlined = IconData(0xf187, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_pizza</i> &#x2014; material icon named "local pizza".
  static const IconData local_pizza = IconData(0xe3a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_pizza</i> &#x2014; material icon named "local pizza" (sharp).
  static const IconData local_pizza_sharp = IconData(0xea9a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_pizza</i> &#x2014; material icon named "local pizza" (round).
  static const IconData local_pizza_rounded = IconData(0xf879, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_pizza</i> &#x2014; material icon named "local pizza" (outlined).
  static const IconData local_pizza_outlined = IconData(0xf188, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_play</i> &#x2014; material icon named "local play".
  static const IconData local_play = IconData(0xe3a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_play</i> &#x2014; material icon named "local play" (sharp).
  static const IconData local_play_sharp = IconData(0xea9b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_play</i> &#x2014; material icon named "local play" (round).
  static const IconData local_play_rounded = IconData(0xf87a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_play</i> &#x2014; material icon named "local play" (outlined).
  static const IconData local_play_outlined = IconData(0xf189, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_police</i> &#x2014; material icon named "local police".
  static const IconData local_police = IconData(0xe3a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_police</i> &#x2014; material icon named "local police" (sharp).
  static const IconData local_police_sharp = IconData(0xea9c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_police</i> &#x2014; material icon named "local police" (round).
  static const IconData local_police_rounded = IconData(0xf87b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_police</i> &#x2014; material icon named "local police" (outlined).
  static const IconData local_police_outlined = IconData(0xf18a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_post_office</i> &#x2014; material icon named "local post office".
  static const IconData local_post_office = IconData(0xe3a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_post_office</i> &#x2014; material icon named "local post office" (sharp).
  static const IconData local_post_office_sharp = IconData(0xea9d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_post_office</i> &#x2014; material icon named "local post office" (round).
  static const IconData local_post_office_rounded = IconData(0xf87c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_post_office</i> &#x2014; material icon named "local post office" (outlined).
  static const IconData local_post_office_outlined = IconData(0xf18b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_print_shop</i> &#x2014; material icon named "local print shop".
  static const IconData local_print_shop = IconData(0xe3a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_print_shop</i> &#x2014; material icon named "local print shop" (sharp).
  static const IconData local_print_shop_sharp = IconData(0xea9e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_print_shop</i> &#x2014; material icon named "local print shop" (round).
  static const IconData local_print_shop_rounded = IconData(0xf87d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_print_shop</i> &#x2014; material icon named "local print shop" (outlined).
  static const IconData local_print_shop_outlined = IconData(0xf18c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_printshop</i> &#x2014; material icon named "local printshop".
  static const IconData local_printshop = IconData(0xe3a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_printshop</i> &#x2014; material icon named "local printshop" (sharp).
  static const IconData local_printshop_sharp = IconData(0xea9e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_printshop</i> &#x2014; material icon named "local printshop" (round).
  static const IconData local_printshop_rounded = IconData(0xf87d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_printshop</i> &#x2014; material icon named "local printshop" (outlined).
  static const IconData local_printshop_outlined = IconData(0xf18c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_restaurant</i> &#x2014; material icon named "local restaurant".
  static const IconData local_restaurant = IconData(0xe390, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_restaurant</i> &#x2014; material icon named "local restaurant" (sharp).
  static const IconData local_restaurant_sharp = IconData(0xea8a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_restaurant</i> &#x2014; material icon named "local restaurant" (round).
  static const IconData local_restaurant_rounded = IconData(0xf869, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_restaurant</i> &#x2014; material icon named "local restaurant" (outlined).
  static const IconData local_restaurant_outlined = IconData(0xf178, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_see</i> &#x2014; material icon named "local see".
  static const IconData local_see = IconData(0xe3a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_see</i> &#x2014; material icon named "local see" (sharp).
  static const IconData local_see_sharp = IconData(0xea9f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_see</i> &#x2014; material icon named "local see" (round).
  static const IconData local_see_rounded = IconData(0xf87e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_see</i> &#x2014; material icon named "local see" (outlined).
  static const IconData local_see_outlined = IconData(0xf18d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_shipping</i> &#x2014; material icon named "local shipping".
  static const IconData local_shipping = IconData(0xe3a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_shipping</i> &#x2014; material icon named "local shipping" (sharp).
  static const IconData local_shipping_sharp = IconData(0xeaa0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_shipping</i> &#x2014; material icon named "local shipping" (round).
  static const IconData local_shipping_rounded = IconData(0xf87f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_shipping</i> &#x2014; material icon named "local shipping" (outlined).
  static const IconData local_shipping_outlined = IconData(0xf18e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_taxi</i> &#x2014; material icon named "local taxi".
  static const IconData local_taxi = IconData(0xe3a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_taxi</i> &#x2014; material icon named "local taxi" (sharp).
  static const IconData local_taxi_sharp = IconData(0xeaa1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_taxi</i> &#x2014; material icon named "local taxi" (round).
  static const IconData local_taxi_rounded = IconData(0xf880, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_taxi</i> &#x2014; material icon named "local taxi" (outlined).
  static const IconData local_taxi_outlined = IconData(0xf18f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">location_city</i> &#x2014; material icon named "location city".
  static const IconData location_city = IconData(0xe3a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">location_city</i> &#x2014; material icon named "location city" (sharp).
  static const IconData location_city_sharp = IconData(0xeaa2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">location_city</i> &#x2014; material icon named "location city" (round).
  static const IconData location_city_rounded = IconData(0xf881, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">location_city</i> &#x2014; material icon named "location city" (outlined).
  static const IconData location_city_outlined = IconData(0xf190, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">location_disabled</i> &#x2014; material icon named "location disabled".
  static const IconData location_disabled = IconData(0xe3a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">location_disabled</i> &#x2014; material icon named "location disabled" (sharp).
  static const IconData location_disabled_sharp = IconData(0xeaa3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">location_disabled</i> &#x2014; material icon named "location disabled" (round).
  static const IconData location_disabled_rounded = IconData(0xf882, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">location_disabled</i> &#x2014; material icon named "location disabled" (outlined).
  static const IconData location_disabled_outlined = IconData(0xf191, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">location_history</i> &#x2014; material icon named "location history".
  static const IconData location_history = IconData(0xe498, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">location_history</i> &#x2014; material icon named "location history" (sharp).
  static const IconData location_history_sharp = IconData(0xeb8f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">location_history</i> &#x2014; material icon named "location history" (round).
  static const IconData location_history_rounded = IconData(0xf006e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">location_history</i> &#x2014; material icon named "location history" (outlined).
  static const IconData location_history_outlined = IconData(0xf27d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">location_off</i> &#x2014; material icon named "location off".
  static const IconData location_off = IconData(0xe3aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">location_off</i> &#x2014; material icon named "location off" (sharp).
  static const IconData location_off_sharp = IconData(0xeaa4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">location_off</i> &#x2014; material icon named "location off" (round).
  static const IconData location_off_rounded = IconData(0xf883, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">location_off</i> &#x2014; material icon named "location off" (outlined).
  static const IconData location_off_outlined = IconData(0xf192, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">location_on</i> &#x2014; material icon named "location on".
  static const IconData location_on = IconData(0xe3ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">location_on</i> &#x2014; material icon named "location on" (sharp).
  static const IconData location_on_sharp = IconData(0xeaa5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">location_on</i> &#x2014; material icon named "location on" (round).
  static const IconData location_on_rounded = IconData(0xf884, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">location_on</i> &#x2014; material icon named "location on" (outlined).
  static const IconData location_on_outlined = IconData(0xf193, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">location_pin</i> &#x2014; material icon named "location pin".
  static const IconData location_pin = IconData(0xe3ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">location_searching</i> &#x2014; material icon named "location searching".
  static const IconData location_searching = IconData(0xe3ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">location_searching</i> &#x2014; material icon named "location searching" (sharp).
  static const IconData location_searching_sharp = IconData(0xeaa6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">location_searching</i> &#x2014; material icon named "location searching" (round).
  static const IconData location_searching_rounded = IconData(0xf885, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">location_searching</i> &#x2014; material icon named "location searching" (outlined).
  static const IconData location_searching_outlined = IconData(0xf194, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lock</i> &#x2014; material icon named "lock".
  static const IconData lock = IconData(0xe3ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lock</i> &#x2014; material icon named "lock" (sharp).
  static const IconData lock_sharp = IconData(0xeaaa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lock</i> &#x2014; material icon named "lock" (round).
  static const IconData lock_rounded = IconData(0xf889, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lock</i> &#x2014; material icon named "lock" (outlined).
  static const IconData lock_outlined = IconData(0xf197, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lock_clock</i> &#x2014; material icon named "lock clock".
  static const IconData lock_clock = IconData(0xe3af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lock_clock</i> &#x2014; material icon named "lock clock" (sharp).
  static const IconData lock_clock_sharp = IconData(0xeaa7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lock_clock</i> &#x2014; material icon named "lock clock" (round).
  static const IconData lock_clock_rounded = IconData(0xf886, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lock_clock</i> &#x2014; material icon named "lock clock" (outlined).
  static const IconData lock_clock_outlined = IconData(0xf195, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lock_open</i> &#x2014; material icon named "lock open".
  static const IconData lock_open = IconData(0xe3b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lock_open</i> &#x2014; material icon named "lock open" (sharp).
  static const IconData lock_open_sharp = IconData(0xeaa8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lock_open</i> &#x2014; material icon named "lock open" (round).
  static const IconData lock_open_rounded = IconData(0xf887, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lock_open</i> &#x2014; material icon named "lock open" (outlined).
  static const IconData lock_open_outlined = IconData(0xf196, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lock_outline</i> &#x2014; material icon named "lock outline".
  static const IconData lock_outline = IconData(0xe3b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lock_outline</i> &#x2014; material icon named "lock outline" (sharp).
  static const IconData lock_outline_sharp = IconData(0xeaa9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lock_outline</i> &#x2014; material icon named "lock outline" (round).
  static const IconData lock_outline_rounded = IconData(0xf888, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lock_person</i> &#x2014; material icon named "lock person".
  static const IconData lock_person = IconData(0xf07a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lock_person</i> &#x2014; material icon named "lock person" (sharp).
  static const IconData lock_person_sharp = IconData(0xf0750, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lock_person</i> &#x2014; material icon named "lock person" (round).
  static const IconData lock_person_rounded = IconData(0xf0800, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lock_person</i> &#x2014; material icon named "lock person" (outlined).
  static const IconData lock_person_outlined = IconData(0xf06f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lock_reset</i> &#x2014; material icon named "lock reset".
  static const IconData lock_reset = IconData(0xf0536, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lock_reset</i> &#x2014; material icon named "lock reset" (sharp).
  static const IconData lock_reset_sharp = IconData(0xf0440, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lock_reset</i> &#x2014; material icon named "lock reset" (round).
  static const IconData lock_reset_rounded = IconData(0xf034d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lock_reset</i> &#x2014; material icon named "lock reset" (outlined).
  static const IconData lock_reset_outlined = IconData(0xf062e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">login</i> &#x2014; material icon named "login".
  static const IconData login = IconData(0xe3b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">login</i> &#x2014; material icon named "login" (sharp).
  static const IconData login_sharp = IconData(0xeaab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">login</i> &#x2014; material icon named "login" (round).
  static const IconData login_rounded = IconData(0xf88a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">login</i> &#x2014; material icon named "login" (outlined).
  static const IconData login_outlined = IconData(0xf198, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">logo_dev</i> &#x2014; material icon named "logo dev".
  static const IconData logo_dev = IconData(0xf0537, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">logo_dev</i> &#x2014; material icon named "logo dev" (sharp).
  static const IconData logo_dev_sharp = IconData(0xf0441, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">logo_dev</i> &#x2014; material icon named "logo dev" (round).
  static const IconData logo_dev_rounded = IconData(0xf034e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">logo_dev</i> &#x2014; material icon named "logo dev" (outlined).
  static const IconData logo_dev_outlined = IconData(0xf062f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">logout</i> &#x2014; material icon named "logout".
  static const IconData logout = IconData(0xe3b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">logout</i> &#x2014; material icon named "logout" (sharp).
  static const IconData logout_sharp = IconData(0xeaac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">logout</i> &#x2014; material icon named "logout" (round).
  static const IconData logout_rounded = IconData(0xf88b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">logout</i> &#x2014; material icon named "logout" (outlined).
  static const IconData logout_outlined = IconData(0xf199, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">looks</i> &#x2014; material icon named "looks".
  static const IconData looks = IconData(0xe3b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">looks</i> &#x2014; material icon named "looks" (sharp).
  static const IconData looks_sharp = IconData(0xeab2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">looks</i> &#x2014; material icon named "looks" (round).
  static const IconData looks_rounded = IconData(0xf891, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">looks</i> &#x2014; material icon named "looks" (outlined).
  static const IconData looks_outlined = IconData(0xf19f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">looks_3</i> &#x2014; material icon named "looks 3".
  static const IconData looks_3 = IconData(0xe3b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">looks_3</i> &#x2014; material icon named "looks 3" (sharp).
  static const IconData looks_3_sharp = IconData(0xeaad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">looks_3</i> &#x2014; material icon named "looks 3" (round).
  static const IconData looks_3_rounded = IconData(0xf88c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">looks_3</i> &#x2014; material icon named "looks 3" (outlined).
  static const IconData looks_3_outlined = IconData(0xf19a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">looks_4</i> &#x2014; material icon named "looks 4".
  static const IconData looks_4 = IconData(0xe3b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">looks_4</i> &#x2014; material icon named "looks 4" (sharp).
  static const IconData looks_4_sharp = IconData(0xeaae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">looks_4</i> &#x2014; material icon named "looks 4" (round).
  static const IconData looks_4_rounded = IconData(0xf88d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">looks_4</i> &#x2014; material icon named "looks 4" (outlined).
  static const IconData looks_4_outlined = IconData(0xf19b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">looks_5</i> &#x2014; material icon named "looks 5".
  static const IconData looks_5 = IconData(0xe3b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">looks_5</i> &#x2014; material icon named "looks 5" (sharp).
  static const IconData looks_5_sharp = IconData(0xeaaf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">looks_5</i> &#x2014; material icon named "looks 5" (round).
  static const IconData looks_5_rounded = IconData(0xf88e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">looks_5</i> &#x2014; material icon named "looks 5" (outlined).
  static const IconData looks_5_outlined = IconData(0xf19c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">looks_6</i> &#x2014; material icon named "looks 6".
  static const IconData looks_6 = IconData(0xe3b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">looks_6</i> &#x2014; material icon named "looks 6" (sharp).
  static const IconData looks_6_sharp = IconData(0xeab0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">looks_6</i> &#x2014; material icon named "looks 6" (round).
  static const IconData looks_6_rounded = IconData(0xf88f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">looks_6</i> &#x2014; material icon named "looks 6" (outlined).
  static const IconData looks_6_outlined = IconData(0xf19d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">looks_one</i> &#x2014; material icon named "looks one".
  static const IconData looks_one = IconData(0xe3b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">looks_one</i> &#x2014; material icon named "looks one" (sharp).
  static const IconData looks_one_sharp = IconData(0xeab1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">looks_one</i> &#x2014; material icon named "looks one" (round).
  static const IconData looks_one_rounded = IconData(0xf890, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">looks_one</i> &#x2014; material icon named "looks one" (outlined).
  static const IconData looks_one_outlined = IconData(0xf19e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">looks_two</i> &#x2014; material icon named "looks two".
  static const IconData looks_two = IconData(0xe3ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">looks_two</i> &#x2014; material icon named "looks two" (sharp).
  static const IconData looks_two_sharp = IconData(0xeab3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">looks_two</i> &#x2014; material icon named "looks two" (round).
  static const IconData looks_two_rounded = IconData(0xf892, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">looks_two</i> &#x2014; material icon named "looks two" (outlined).
  static const IconData looks_two_outlined = IconData(0xf1a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">loop</i> &#x2014; material icon named "loop".
  static const IconData loop = IconData(0xe3bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">loop</i> &#x2014; material icon named "loop" (sharp).
  static const IconData loop_sharp = IconData(0xeab4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">loop</i> &#x2014; material icon named "loop" (round).
  static const IconData loop_rounded = IconData(0xf893, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">loop</i> &#x2014; material icon named "loop" (outlined).
  static const IconData loop_outlined = IconData(0xf1a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">loupe</i> &#x2014; material icon named "loupe".
  static const IconData loupe = IconData(0xe3bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">loupe</i> &#x2014; material icon named "loupe" (sharp).
  static const IconData loupe_sharp = IconData(0xeab5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">loupe</i> &#x2014; material icon named "loupe" (round).
  static const IconData loupe_rounded = IconData(0xf894, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">loupe</i> &#x2014; material icon named "loupe" (outlined).
  static const IconData loupe_outlined = IconData(0xf1a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">low_priority</i> &#x2014; material icon named "low priority".
  static const IconData low_priority = IconData(0xe3bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">low_priority</i> &#x2014; material icon named "low priority" (sharp).
  static const IconData low_priority_sharp = IconData(0xeab6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">low_priority</i> &#x2014; material icon named "low priority" (round).
  static const IconData low_priority_rounded = IconData(0xf895, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">low_priority</i> &#x2014; material icon named "low priority" (outlined).
  static const IconData low_priority_outlined = IconData(0xf1a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">loyalty</i> &#x2014; material icon named "loyalty".
  static const IconData loyalty = IconData(0xe3be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">loyalty</i> &#x2014; material icon named "loyalty" (sharp).
  static const IconData loyalty_sharp = IconData(0xeab7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">loyalty</i> &#x2014; material icon named "loyalty" (round).
  static const IconData loyalty_rounded = IconData(0xf896, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">loyalty</i> &#x2014; material icon named "loyalty" (outlined).
  static const IconData loyalty_outlined = IconData(0xf1a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lte_mobiledata</i> &#x2014; material icon named "lte mobiledata".
  static const IconData lte_mobiledata = IconData(0xe3bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lte_mobiledata</i> &#x2014; material icon named "lte mobiledata" (sharp).
  static const IconData lte_mobiledata_sharp = IconData(0xeab8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lte_mobiledata</i> &#x2014; material icon named "lte mobiledata" (round).
  static const IconData lte_mobiledata_rounded = IconData(0xf897, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lte_mobiledata</i> &#x2014; material icon named "lte mobiledata" (outlined).
  static const IconData lte_mobiledata_outlined = IconData(0xf1a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lte_plus_mobiledata</i> &#x2014; material icon named "lte plus mobiledata".
  static const IconData lte_plus_mobiledata = IconData(0xe3c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lte_plus_mobiledata</i> &#x2014; material icon named "lte plus mobiledata" (sharp).
  static const IconData lte_plus_mobiledata_sharp = IconData(0xeab9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lte_plus_mobiledata</i> &#x2014; material icon named "lte plus mobiledata" (round).
  static const IconData lte_plus_mobiledata_rounded = IconData(0xf898, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lte_plus_mobiledata</i> &#x2014; material icon named "lte plus mobiledata" (outlined).
  static const IconData lte_plus_mobiledata_outlined = IconData(0xf1a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">luggage</i> &#x2014; material icon named "luggage".
  static const IconData luggage = IconData(0xe3c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">luggage</i> &#x2014; material icon named "luggage" (sharp).
  static const IconData luggage_sharp = IconData(0xeaba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">luggage</i> &#x2014; material icon named "luggage" (round).
  static const IconData luggage_rounded = IconData(0xf899, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">luggage</i> &#x2014; material icon named "luggage" (outlined).
  static const IconData luggage_outlined = IconData(0xf1a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lunch_dining</i> &#x2014; material icon named "lunch dining".
  static const IconData lunch_dining = IconData(0xe3c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lunch_dining</i> &#x2014; material icon named "lunch dining" (sharp).
  static const IconData lunch_dining_sharp = IconData(0xeabb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lunch_dining</i> &#x2014; material icon named "lunch dining" (round).
  static const IconData lunch_dining_rounded = IconData(0xf89a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lunch_dining</i> &#x2014; material icon named "lunch dining" (outlined).
  static const IconData lunch_dining_outlined = IconData(0xf1a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lyrics</i> &#x2014; material icon named "lyrics".
  static const IconData lyrics = IconData(0xf07a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lyrics</i> &#x2014; material icon named "lyrics" (sharp).
  static const IconData lyrics_sharp = IconData(0xf0751, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lyrics</i> &#x2014; material icon named "lyrics" (round).
  static const IconData lyrics_rounded = IconData(0xf0801, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lyrics</i> &#x2014; material icon named "lyrics" (outlined).
  static const IconData lyrics_outlined = IconData(0xf06f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">macro_off</i> &#x2014; material icon named "macro off".
  static const IconData macro_off = IconData(0xf086b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">macro_off</i> &#x2014; material icon named "macro off" (sharp).
  static const IconData macro_off_sharp = IconData(0xf0843, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">macro_off</i> &#x2014; material icon named "macro off" (round).
  static const IconData macro_off_rounded = IconData(0xf088c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">macro_off</i> &#x2014; material icon named "macro off" (outlined).
  static const IconData macro_off_outlined = IconData(0xf08aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mail</i> &#x2014; material icon named "mail".
  static const IconData mail = IconData(0xe3c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mail</i> &#x2014; material icon named "mail" (sharp).
  static const IconData mail_sharp = IconData(0xeabd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mail</i> &#x2014; material icon named "mail" (round).
  static const IconData mail_rounded = IconData(0xf89c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mail</i> &#x2014; material icon named "mail" (outlined).
  static const IconData mail_outlined = IconData(0xf1aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mail_lock</i> &#x2014; material icon named "mail lock".
  static const IconData mail_lock = IconData(0xf07aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mail_lock</i> &#x2014; material icon named "mail lock" (sharp).
  static const IconData mail_lock_sharp = IconData(0xf0752, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mail_lock</i> &#x2014; material icon named "mail lock" (round).
  static const IconData mail_lock_rounded = IconData(0xf0802, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mail_lock</i> &#x2014; material icon named "mail lock" (outlined).
  static const IconData mail_lock_outlined = IconData(0xf06fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mail_outline</i> &#x2014; material icon named "mail outline".
  static const IconData mail_outline = IconData(0xe3c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mail_outline</i> &#x2014; material icon named "mail outline" (sharp).
  static const IconData mail_outline_sharp = IconData(0xeabc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mail_outline</i> &#x2014; material icon named "mail outline" (round).
  static const IconData mail_outline_rounded = IconData(0xf89b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mail_outline</i> &#x2014; material icon named "mail outline" (outlined).
  static const IconData mail_outline_outlined = IconData(0xf1a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">male</i> &#x2014; material icon named "male".
  static const IconData male = IconData(0xe3c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">male</i> &#x2014; material icon named "male" (sharp).
  static const IconData male_sharp = IconData(0xeabe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">male</i> &#x2014; material icon named "male" (round).
  static const IconData male_rounded = IconData(0xf89d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">male</i> &#x2014; material icon named "male" (outlined).
  static const IconData male_outlined = IconData(0xf1ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">man</i> &#x2014; material icon named "man".
  static const IconData man = IconData(0xf0538, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">man</i> &#x2014; material icon named "man" (sharp).
  static const IconData man_sharp = IconData(0xf0442, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">man</i> &#x2014; material icon named "man" (round).
  static const IconData man_rounded = IconData(0xf034f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">man</i> &#x2014; material icon named "man" (outlined).
  static const IconData man_outlined = IconData(0xf0630, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">man_2</i> &#x2014; material icon named "man 2".
  static const IconData man_2 = IconData(0xf086c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">man_2</i> &#x2014; material icon named "man 2" (sharp).
  static const IconData man_2_sharp = IconData(0xf0844, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">man_2</i> &#x2014; material icon named "man 2" (round).
  static const IconData man_2_rounded = IconData(0xf088d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">man_2</i> &#x2014; material icon named "man 2" (outlined).
  static const IconData man_2_outlined = IconData(0xf08ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">man_3</i> &#x2014; material icon named "man 3".
  static const IconData man_3 = IconData(0xf086d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">man_3</i> &#x2014; material icon named "man 3" (sharp).
  static const IconData man_3_sharp = IconData(0xf0845, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">man_3</i> &#x2014; material icon named "man 3" (round).
  static const IconData man_3_rounded = IconData(0xf088e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">man_3</i> &#x2014; material icon named "man 3" (outlined).
  static const IconData man_3_outlined = IconData(0xf08ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">man_4</i> &#x2014; material icon named "man 4".
  static const IconData man_4 = IconData(0xf086e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">man_4</i> &#x2014; material icon named "man 4" (sharp).
  static const IconData man_4_sharp = IconData(0xf0846, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">man_4</i> &#x2014; material icon named "man 4" (round).
  static const IconData man_4_rounded = IconData(0xf088f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">man_4</i> &#x2014; material icon named "man 4" (outlined).
  static const IconData man_4_outlined = IconData(0xf08ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">manage_accounts</i> &#x2014; material icon named "manage accounts".
  static const IconData manage_accounts = IconData(0xe3c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">manage_accounts</i> &#x2014; material icon named "manage accounts" (sharp).
  static const IconData manage_accounts_sharp = IconData(0xeabf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">manage_accounts</i> &#x2014; material icon named "manage accounts" (round).
  static const IconData manage_accounts_rounded = IconData(0xf89e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">manage_accounts</i> &#x2014; material icon named "manage accounts" (outlined).
  static const IconData manage_accounts_outlined = IconData(0xf1ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">manage_history</i> &#x2014; material icon named "manage history".
  static const IconData manage_history = IconData(0xf07ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">manage_history</i> &#x2014; material icon named "manage history" (sharp).
  static const IconData manage_history_sharp = IconData(0xf0753, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">manage_history</i> &#x2014; material icon named "manage history" (round).
  static const IconData manage_history_rounded = IconData(0xf0803, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">manage_history</i> &#x2014; material icon named "manage history" (outlined).
  static const IconData manage_history_outlined = IconData(0xf06fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">manage_search</i> &#x2014; material icon named "manage search".
  static const IconData manage_search = IconData(0xe3c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">manage_search</i> &#x2014; material icon named "manage search" (sharp).
  static const IconData manage_search_sharp = IconData(0xeac0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">manage_search</i> &#x2014; material icon named "manage search" (round).
  static const IconData manage_search_rounded = IconData(0xf89f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">manage_search</i> &#x2014; material icon named "manage search" (outlined).
  static const IconData manage_search_outlined = IconData(0xf1ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">map</i> &#x2014; material icon named "map".
  static const IconData map = IconData(0xe3c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">map</i> &#x2014; material icon named "map" (sharp).
  static const IconData map_sharp = IconData(0xeac1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">map</i> &#x2014; material icon named "map" (round).
  static const IconData map_rounded = IconData(0xf8a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">map</i> &#x2014; material icon named "map" (outlined).
  static const IconData map_outlined = IconData(0xf1ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">maps_home_work</i> &#x2014; material icon named "maps home work".
  static const IconData maps_home_work = IconData(0xe3c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">maps_home_work</i> &#x2014; material icon named "maps home work" (sharp).
  static const IconData maps_home_work_sharp = IconData(0xeac2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">maps_home_work</i> &#x2014; material icon named "maps home work" (round).
  static const IconData maps_home_work_rounded = IconData(0xf8a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">maps_home_work</i> &#x2014; material icon named "maps home work" (outlined).
  static const IconData maps_home_work_outlined = IconData(0xf1af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">maps_ugc</i> &#x2014; material icon named "maps ugc".
  static const IconData maps_ugc = IconData(0xe3ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">maps_ugc</i> &#x2014; material icon named "maps ugc" (sharp).
  static const IconData maps_ugc_sharp = IconData(0xeac3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">maps_ugc</i> &#x2014; material icon named "maps ugc" (round).
  static const IconData maps_ugc_rounded = IconData(0xf8a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">maps_ugc</i> &#x2014; material icon named "maps ugc" (outlined).
  static const IconData maps_ugc_outlined = IconData(0xf1b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">margin</i> &#x2014; material icon named "margin".
  static const IconData margin = IconData(0xe3cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">margin</i> &#x2014; material icon named "margin" (sharp).
  static const IconData margin_sharp = IconData(0xeac4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">margin</i> &#x2014; material icon named "margin" (round).
  static const IconData margin_rounded = IconData(0xf8a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">margin</i> &#x2014; material icon named "margin" (outlined).
  static const IconData margin_outlined = IconData(0xf1b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mark_as_unread</i> &#x2014; material icon named "mark as unread".
  static const IconData mark_as_unread = IconData(0xe3cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mark_as_unread</i> &#x2014; material icon named "mark as unread" (sharp).
  static const IconData mark_as_unread_sharp = IconData(0xeac5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mark_as_unread</i> &#x2014; material icon named "mark as unread" (round).
  static const IconData mark_as_unread_rounded = IconData(0xf8a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mark_as_unread</i> &#x2014; material icon named "mark as unread" (outlined).
  static const IconData mark_as_unread_outlined = IconData(0xf1b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mark_chat_read</i> &#x2014; material icon named "mark chat read".
  static const IconData mark_chat_read = IconData(0xe3cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mark_chat_read</i> &#x2014; material icon named "mark chat read" (sharp).
  static const IconData mark_chat_read_sharp = IconData(0xeac6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mark_chat_read</i> &#x2014; material icon named "mark chat read" (round).
  static const IconData mark_chat_read_rounded = IconData(0xf8a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mark_chat_read</i> &#x2014; material icon named "mark chat read" (outlined).
  static const IconData mark_chat_read_outlined = IconData(0xf1b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mark_chat_unread</i> &#x2014; material icon named "mark chat unread".
  static const IconData mark_chat_unread = IconData(0xe3ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mark_chat_unread</i> &#x2014; material icon named "mark chat unread" (sharp).
  static const IconData mark_chat_unread_sharp = IconData(0xeac7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mark_chat_unread</i> &#x2014; material icon named "mark chat unread" (round).
  static const IconData mark_chat_unread_rounded = IconData(0xf8a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mark_chat_unread</i> &#x2014; material icon named "mark chat unread" (outlined).
  static const IconData mark_chat_unread_outlined = IconData(0xf1b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mark_email_read</i> &#x2014; material icon named "mark email read".
  static const IconData mark_email_read = IconData(0xe3cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mark_email_read</i> &#x2014; material icon named "mark email read" (sharp).
  static const IconData mark_email_read_sharp = IconData(0xeac8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mark_email_read</i> &#x2014; material icon named "mark email read" (round).
  static const IconData mark_email_read_rounded = IconData(0xf8a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mark_email_read</i> &#x2014; material icon named "mark email read" (outlined).
  static const IconData mark_email_read_outlined = IconData(0xf1b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mark_email_unread</i> &#x2014; material icon named "mark email unread".
  static const IconData mark_email_unread = IconData(0xe3d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mark_email_unread</i> &#x2014; material icon named "mark email unread" (sharp).
  static const IconData mark_email_unread_sharp = IconData(0xeac9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mark_email_unread</i> &#x2014; material icon named "mark email unread" (round).
  static const IconData mark_email_unread_rounded = IconData(0xf8a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mark_email_unread</i> &#x2014; material icon named "mark email unread" (outlined).
  static const IconData mark_email_unread_outlined = IconData(0xf1b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mark_unread_chat_alt</i> &#x2014; material icon named "mark unread chat alt".
  static const IconData mark_unread_chat_alt = IconData(0xf0539, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mark_unread_chat_alt</i> &#x2014; material icon named "mark unread chat alt" (sharp).
  static const IconData mark_unread_chat_alt_sharp = IconData(0xf0443, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mark_unread_chat_alt</i> &#x2014; material icon named "mark unread chat alt" (round).
  static const IconData mark_unread_chat_alt_rounded = IconData(0xf0350, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mark_unread_chat_alt</i> &#x2014; material icon named "mark unread chat alt" (outlined).
  static const IconData mark_unread_chat_alt_outlined = IconData(0xf0631, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">markunread</i> &#x2014; material icon named "markunread".
  static const IconData markunread = IconData(0xe3d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">markunread</i> &#x2014; material icon named "markunread" (sharp).
  static const IconData markunread_sharp = IconData(0xeacb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">markunread</i> &#x2014; material icon named "markunread" (round).
  static const IconData markunread_rounded = IconData(0xf8aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">markunread</i> &#x2014; material icon named "markunread" (outlined).
  static const IconData markunread_outlined = IconData(0xf1b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">markunread_mailbox</i> &#x2014; material icon named "markunread mailbox".
  static const IconData markunread_mailbox = IconData(0xe3d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">markunread_mailbox</i> &#x2014; material icon named "markunread mailbox" (sharp).
  static const IconData markunread_mailbox_sharp = IconData(0xeaca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">markunread_mailbox</i> &#x2014; material icon named "markunread mailbox" (round).
  static const IconData markunread_mailbox_rounded = IconData(0xf8a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">markunread_mailbox</i> &#x2014; material icon named "markunread mailbox" (outlined).
  static const IconData markunread_mailbox_outlined = IconData(0xf1b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">masks</i> &#x2014; material icon named "masks".
  static const IconData masks = IconData(0xe3d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">masks</i> &#x2014; material icon named "masks" (sharp).
  static const IconData masks_sharp = IconData(0xeacc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">masks</i> &#x2014; material icon named "masks" (round).
  static const IconData masks_rounded = IconData(0xf8ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">masks</i> &#x2014; material icon named "masks" (outlined).
  static const IconData masks_outlined = IconData(0xf1b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">maximize</i> &#x2014; material icon named "maximize".
  static const IconData maximize = IconData(0xe3d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">maximize</i> &#x2014; material icon named "maximize" (sharp).
  static const IconData maximize_sharp = IconData(0xeacd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">maximize</i> &#x2014; material icon named "maximize" (round).
  static const IconData maximize_rounded = IconData(0xf8ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">maximize</i> &#x2014; material icon named "maximize" (outlined).
  static const IconData maximize_outlined = IconData(0xf1ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">media_bluetooth_off</i> &#x2014; material icon named "media bluetooth off".
  static const IconData media_bluetooth_off = IconData(0xe3d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">media_bluetooth_off</i> &#x2014; material icon named "media bluetooth off" (sharp).
  static const IconData media_bluetooth_off_sharp = IconData(0xeace, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">media_bluetooth_off</i> &#x2014; material icon named "media bluetooth off" (round).
  static const IconData media_bluetooth_off_rounded = IconData(0xf8ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">media_bluetooth_off</i> &#x2014; material icon named "media bluetooth off" (outlined).
  static const IconData media_bluetooth_off_outlined = IconData(0xf1bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">media_bluetooth_on</i> &#x2014; material icon named "media bluetooth on".
  static const IconData media_bluetooth_on = IconData(0xe3d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">media_bluetooth_on</i> &#x2014; material icon named "media bluetooth on" (sharp).
  static const IconData media_bluetooth_on_sharp = IconData(0xeacf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">media_bluetooth_on</i> &#x2014; material icon named "media bluetooth on" (round).
  static const IconData media_bluetooth_on_rounded = IconData(0xf8ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">media_bluetooth_on</i> &#x2014; material icon named "media bluetooth on" (outlined).
  static const IconData media_bluetooth_on_outlined = IconData(0xf1bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mediation</i> &#x2014; material icon named "mediation".
  static const IconData mediation = IconData(0xe3d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mediation</i> &#x2014; material icon named "mediation" (sharp).
  static const IconData mediation_sharp = IconData(0xead0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mediation</i> &#x2014; material icon named "mediation" (round).
  static const IconData mediation_rounded = IconData(0xf8af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mediation</i> &#x2014; material icon named "mediation" (outlined).
  static const IconData mediation_outlined = IconData(0xf1bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">medical_information</i> &#x2014; material icon named "medical information".
  static const IconData medical_information = IconData(0xf07ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">medical_information</i> &#x2014; material icon named "medical information" (sharp).
  static const IconData medical_information_sharp = IconData(0xf0754, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">medical_information</i> &#x2014; material icon named "medical information" (round).
  static const IconData medical_information_rounded = IconData(0xf0804, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">medical_information</i> &#x2014; material icon named "medical information" (outlined).
  static const IconData medical_information_outlined = IconData(0xf06fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">medical_services</i> &#x2014; material icon named "medical services".
  static const IconData medical_services = IconData(0xe3d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">medical_services</i> &#x2014; material icon named "medical services" (sharp).
  static const IconData medical_services_sharp = IconData(0xead1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">medical_services</i> &#x2014; material icon named "medical services" (round).
  static const IconData medical_services_rounded = IconData(0xf8b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">medical_services</i> &#x2014; material icon named "medical services" (outlined).
  static const IconData medical_services_outlined = IconData(0xf1be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">medication</i> &#x2014; material icon named "medication".
  static const IconData medication = IconData(0xe3d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">medication</i> &#x2014; material icon named "medication" (sharp).
  static const IconData medication_sharp = IconData(0xead2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">medication</i> &#x2014; material icon named "medication" (round).
  static const IconData medication_rounded = IconData(0xf8b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">medication</i> &#x2014; material icon named "medication" (outlined).
  static const IconData medication_outlined = IconData(0xf1bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">medication_liquid</i> &#x2014; material icon named "medication liquid".
  static const IconData medication_liquid = IconData(0xf053a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">medication_liquid</i> &#x2014; material icon named "medication liquid" (sharp).
  static const IconData medication_liquid_sharp = IconData(0xf0444, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">medication_liquid</i> &#x2014; material icon named "medication liquid" (round).
  static const IconData medication_liquid_rounded = IconData(0xf0351, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">medication_liquid</i> &#x2014; material icon named "medication liquid" (outlined).
  static const IconData medication_liquid_outlined = IconData(0xf0632, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">meeting_room</i> &#x2014; material icon named "meeting room".
  static const IconData meeting_room = IconData(0xe3da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">meeting_room</i> &#x2014; material icon named "meeting room" (sharp).
  static const IconData meeting_room_sharp = IconData(0xead3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">meeting_room</i> &#x2014; material icon named "meeting room" (round).
  static const IconData meeting_room_rounded = IconData(0xf8b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">meeting_room</i> &#x2014; material icon named "meeting room" (outlined).
  static const IconData meeting_room_outlined = IconData(0xf1c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">memory</i> &#x2014; material icon named "memory".
  static const IconData memory = IconData(0xe3db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">memory</i> &#x2014; material icon named "memory" (sharp).
  static const IconData memory_sharp = IconData(0xead4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">memory</i> &#x2014; material icon named "memory" (round).
  static const IconData memory_rounded = IconData(0xf8b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">memory</i> &#x2014; material icon named "memory" (outlined).
  static const IconData memory_outlined = IconData(0xf1c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">menu</i> &#x2014; material icon named "menu".
  static const IconData menu = IconData(0xe3dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">menu</i> &#x2014; material icon named "menu" (sharp).
  static const IconData menu_sharp = IconData(0xead7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">menu</i> &#x2014; material icon named "menu" (round).
  static const IconData menu_rounded = IconData(0xf8b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">menu</i> &#x2014; material icon named "menu" (outlined).
  static const IconData menu_outlined = IconData(0xf1c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">menu_book</i> &#x2014; material icon named "menu book".
  static const IconData menu_book = IconData(0xe3dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">menu_book</i> &#x2014; material icon named "menu book" (sharp).
  static const IconData menu_book_sharp = IconData(0xead5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">menu_book</i> &#x2014; material icon named "menu book" (round).
  static const IconData menu_book_rounded = IconData(0xf8b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">menu_book</i> &#x2014; material icon named "menu book" (outlined).
  static const IconData menu_book_outlined = IconData(0xf1c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">menu_open</i> &#x2014; material icon named "menu open".
  static const IconData menu_open = IconData(0xe3de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">menu_open</i> &#x2014; material icon named "menu open" (sharp).
  static const IconData menu_open_sharp = IconData(0xead6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">menu_open</i> &#x2014; material icon named "menu open" (round).
  static const IconData menu_open_rounded = IconData(0xf8b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">menu_open</i> &#x2014; material icon named "menu open" (outlined).
  static const IconData menu_open_outlined = IconData(0xf1c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">merge</i> &#x2014; material icon named "merge".
  static const IconData merge = IconData(0xf053b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">merge</i> &#x2014; material icon named "merge" (sharp).
  static const IconData merge_sharp = IconData(0xf0445, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">merge</i> &#x2014; material icon named "merge" (round).
  static const IconData merge_rounded = IconData(0xf0352, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">merge</i> &#x2014; material icon named "merge" (outlined).
  static const IconData merge_outlined = IconData(0xf0633, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">merge_type</i> &#x2014; material icon named "merge type".
  static const IconData merge_type = IconData(0xe3df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">merge_type</i> &#x2014; material icon named "merge type" (sharp).
  static const IconData merge_type_sharp = IconData(0xead8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">merge_type</i> &#x2014; material icon named "merge type" (round).
  static const IconData merge_type_rounded = IconData(0xf8b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">merge_type</i> &#x2014; material icon named "merge type" (outlined).
  static const IconData merge_type_outlined = IconData(0xf1c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">message</i> &#x2014; material icon named "message".
  static const IconData message = IconData(0xe3e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">message</i> &#x2014; material icon named "message" (sharp).
  static const IconData message_sharp = IconData(0xead9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">message</i> &#x2014; material icon named "message" (round).
  static const IconData message_rounded = IconData(0xf8b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">message</i> &#x2014; material icon named "message" (outlined).
  static const IconData message_outlined = IconData(0xf1c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">messenger</i> &#x2014; material icon named "messenger".
  static const IconData messenger = IconData(0xe154, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">messenger</i> &#x2014; material icon named "messenger" (sharp).
  static const IconData messenger_sharp = IconData(0xe851, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">messenger</i> &#x2014; material icon named "messenger" (round).
  static const IconData messenger_rounded = IconData(0xf630, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">messenger</i> &#x2014; material icon named "messenger" (outlined).
  static const IconData messenger_outlined = IconData(0xef43, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">messenger_outline</i> &#x2014; material icon named "messenger outline".
  static const IconData messenger_outline = IconData(0xe155, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">messenger_outline</i> &#x2014; material icon named "messenger outline" (sharp).
  static const IconData messenger_outline_sharp = IconData(0xe850, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">messenger_outline</i> &#x2014; material icon named "messenger outline" (round).
  static const IconData messenger_outline_rounded = IconData(0xf62f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">messenger_outline</i> &#x2014; material icon named "messenger outline" (outlined).
  static const IconData messenger_outline_outlined = IconData(0xef42, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mic</i> &#x2014; material icon named "mic".
  static const IconData mic = IconData(0xe3e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mic</i> &#x2014; material icon named "mic" (sharp).
  static const IconData mic_sharp = IconData(0xeade, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mic</i> &#x2014; material icon named "mic" (round).
  static const IconData mic_rounded = IconData(0xf8bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mic</i> &#x2014; material icon named "mic" (outlined).
  static const IconData mic_outlined = IconData(0xf1cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mic_external_off</i> &#x2014; material icon named "mic external off".
  static const IconData mic_external_off = IconData(0xe3e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mic_external_off</i> &#x2014; material icon named "mic external off" (sharp).
  static const IconData mic_external_off_sharp = IconData(0xeada, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mic_external_off</i> &#x2014; material icon named "mic external off" (round).
  static const IconData mic_external_off_rounded = IconData(0xf8b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mic_external_off</i> &#x2014; material icon named "mic external off" (outlined).
  static const IconData mic_external_off_outlined = IconData(0xf1c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mic_external_on</i> &#x2014; material icon named "mic external on".
  static const IconData mic_external_on = IconData(0xe3e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mic_external_on</i> &#x2014; material icon named "mic external on" (sharp).
  static const IconData mic_external_on_sharp = IconData(0xeadb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mic_external_on</i> &#x2014; material icon named "mic external on" (round).
  static const IconData mic_external_on_rounded = IconData(0xf8ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mic_external_on</i> &#x2014; material icon named "mic external on" (outlined).
  static const IconData mic_external_on_outlined = IconData(0xf1c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mic_none</i> &#x2014; material icon named "mic none".
  static const IconData mic_none = IconData(0xe3e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mic_none</i> &#x2014; material icon named "mic none" (sharp).
  static const IconData mic_none_sharp = IconData(0xeadc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mic_none</i> &#x2014; material icon named "mic none" (round).
  static const IconData mic_none_rounded = IconData(0xf8bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mic_none</i> &#x2014; material icon named "mic none" (outlined).
  static const IconData mic_none_outlined = IconData(0xf1c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mic_off</i> &#x2014; material icon named "mic off".
  static const IconData mic_off = IconData(0xe3e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mic_off</i> &#x2014; material icon named "mic off" (sharp).
  static const IconData mic_off_sharp = IconData(0xeadd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mic_off</i> &#x2014; material icon named "mic off" (round).
  static const IconData mic_off_rounded = IconData(0xf8bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mic_off</i> &#x2014; material icon named "mic off" (outlined).
  static const IconData mic_off_outlined = IconData(0xf1ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">microwave</i> &#x2014; material icon named "microwave".
  static const IconData microwave = IconData(0xe3e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">microwave</i> &#x2014; material icon named "microwave" (sharp).
  static const IconData microwave_sharp = IconData(0xeadf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">microwave</i> &#x2014; material icon named "microwave" (round).
  static const IconData microwave_rounded = IconData(0xf8be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">microwave</i> &#x2014; material icon named "microwave" (outlined).
  static const IconData microwave_outlined = IconData(0xf1cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">military_tech</i> &#x2014; material icon named "military tech".
  static const IconData military_tech = IconData(0xe3e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">military_tech</i> &#x2014; material icon named "military tech" (sharp).
  static const IconData military_tech_sharp = IconData(0xeae0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">military_tech</i> &#x2014; material icon named "military tech" (round).
  static const IconData military_tech_rounded = IconData(0xf8bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">military_tech</i> &#x2014; material icon named "military tech" (outlined).
  static const IconData military_tech_outlined = IconData(0xf1cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">minimize</i> &#x2014; material icon named "minimize".
  static const IconData minimize = IconData(0xe3e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">minimize</i> &#x2014; material icon named "minimize" (sharp).
  static const IconData minimize_sharp = IconData(0xeae1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">minimize</i> &#x2014; material icon named "minimize" (round).
  static const IconData minimize_rounded = IconData(0xf8c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">minimize</i> &#x2014; material icon named "minimize" (outlined).
  static const IconData minimize_outlined = IconData(0xf1ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">minor_crash</i> &#x2014; material icon named "minor crash".
  static const IconData minor_crash = IconData(0xf07ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">minor_crash</i> &#x2014; material icon named "minor crash" (sharp).
  static const IconData minor_crash_sharp = IconData(0xf0755, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">minor_crash</i> &#x2014; material icon named "minor crash" (round).
  static const IconData minor_crash_rounded = IconData(0xf0805, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">minor_crash</i> &#x2014; material icon named "minor crash" (outlined).
  static const IconData minor_crash_outlined = IconData(0xf06fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">miscellaneous_services</i> &#x2014; material icon named "miscellaneous services".
  static const IconData miscellaneous_services = IconData(0xe3e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">miscellaneous_services</i> &#x2014; material icon named "miscellaneous services" (sharp).
  static const IconData miscellaneous_services_sharp = IconData(0xeae2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">miscellaneous_services</i> &#x2014; material icon named "miscellaneous services" (round).
  static const IconData miscellaneous_services_rounded = IconData(0xf8c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">miscellaneous_services</i> &#x2014; material icon named "miscellaneous services" (outlined).
  static const IconData miscellaneous_services_outlined = IconData(0xf1cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">missed_video_call</i> &#x2014; material icon named "missed video call".
  static const IconData missed_video_call = IconData(0xe3ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">missed_video_call</i> &#x2014; material icon named "missed video call" (sharp).
  static const IconData missed_video_call_sharp = IconData(0xeae3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">missed_video_call</i> &#x2014; material icon named "missed video call" (round).
  static const IconData missed_video_call_rounded = IconData(0xf8c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">missed_video_call</i> &#x2014; material icon named "missed video call" (outlined).
  static const IconData missed_video_call_outlined = IconData(0xf1d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mms</i> &#x2014; material icon named "mms".
  static const IconData mms = IconData(0xe3eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mms</i> &#x2014; material icon named "mms" (sharp).
  static const IconData mms_sharp = IconData(0xeae4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mms</i> &#x2014; material icon named "mms" (round).
  static const IconData mms_rounded = IconData(0xf8c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mms</i> &#x2014; material icon named "mms" (outlined).
  static const IconData mms_outlined = IconData(0xf1d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mobile_friendly</i> &#x2014; material icon named "mobile friendly".
  static const IconData mobile_friendly = IconData(0xe3ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mobile_friendly</i> &#x2014; material icon named "mobile friendly" (sharp).
  static const IconData mobile_friendly_sharp = IconData(0xeae5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mobile_friendly</i> &#x2014; material icon named "mobile friendly" (round).
  static const IconData mobile_friendly_rounded = IconData(0xf8c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mobile_friendly</i> &#x2014; material icon named "mobile friendly" (outlined).
  static const IconData mobile_friendly_outlined = IconData(0xf1d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mobile_off</i> &#x2014; material icon named "mobile off".
  static const IconData mobile_off = IconData(0xe3ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mobile_off</i> &#x2014; material icon named "mobile off" (sharp).
  static const IconData mobile_off_sharp = IconData(0xeae6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mobile_off</i> &#x2014; material icon named "mobile off" (round).
  static const IconData mobile_off_rounded = IconData(0xf8c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mobile_off</i> &#x2014; material icon named "mobile off" (outlined).
  static const IconData mobile_off_outlined = IconData(0xf1d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mobile_screen_share</i> &#x2014; material icon named "mobile screen share".
  static const IconData mobile_screen_share = IconData(0xe3ee, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">mobile_screen_share</i> &#x2014; material icon named "mobile screen share" (sharp).
  static const IconData mobile_screen_share_sharp = IconData(0xeae7, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">mobile_screen_share</i> &#x2014; material icon named "mobile screen share" (round).
  static const IconData mobile_screen_share_rounded = IconData(0xf8c6, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">mobile_screen_share</i> &#x2014; material icon named "mobile screen share" (outlined).
  static const IconData mobile_screen_share_outlined = IconData(0xf1d4, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">mobiledata_off</i> &#x2014; material icon named "mobiledata off".
  static const IconData mobiledata_off = IconData(0xe3ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mobiledata_off</i> &#x2014; material icon named "mobiledata off" (sharp).
  static const IconData mobiledata_off_sharp = IconData(0xeae8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mobiledata_off</i> &#x2014; material icon named "mobiledata off" (round).
  static const IconData mobiledata_off_rounded = IconData(0xf8c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mobiledata_off</i> &#x2014; material icon named "mobiledata off" (outlined).
  static const IconData mobiledata_off_outlined = IconData(0xf1d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mode</i> &#x2014; material icon named "mode".
  static const IconData mode = IconData(0xe3f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mode</i> &#x2014; material icon named "mode" (sharp).
  static const IconData mode_sharp = IconData(0xeaed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mode</i> &#x2014; material icon named "mode" (round).
  static const IconData mode_rounded = IconData(0xf8cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mode</i> &#x2014; material icon named "mode" (outlined).
  static const IconData mode_outlined = IconData(0xf1da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mode_comment</i> &#x2014; material icon named "mode comment".
  static const IconData mode_comment = IconData(0xe3f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mode_comment</i> &#x2014; material icon named "mode comment" (sharp).
  static const IconData mode_comment_sharp = IconData(0xeae9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mode_comment</i> &#x2014; material icon named "mode comment" (round).
  static const IconData mode_comment_rounded = IconData(0xf8c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mode_comment</i> &#x2014; material icon named "mode comment" (outlined).
  static const IconData mode_comment_outlined = IconData(0xf1d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mode_edit</i> &#x2014; material icon named "mode edit".
  static const IconData mode_edit = IconData(0xe3f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mode_edit</i> &#x2014; material icon named "mode edit" (sharp).
  static const IconData mode_edit_sharp = IconData(0xeaeb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mode_edit</i> &#x2014; material icon named "mode edit" (round).
  static const IconData mode_edit_rounded = IconData(0xf8ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mode_edit</i> &#x2014; material icon named "mode edit" (outlined).
  static const IconData mode_edit_outlined = IconData(0xf1d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mode_edit_outline</i> &#x2014; material icon named "mode edit outline".
  static const IconData mode_edit_outline = IconData(0xe3f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mode_edit_outline</i> &#x2014; material icon named "mode edit outline" (sharp).
  static const IconData mode_edit_outline_sharp = IconData(0xeaea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mode_edit_outline</i> &#x2014; material icon named "mode edit outline" (round).
  static const IconData mode_edit_outline_rounded = IconData(0xf8c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mode_edit_outline</i> &#x2014; material icon named "mode edit outline" (outlined).
  static const IconData mode_edit_outline_outlined = IconData(0xf1d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mode_fan_off</i> &#x2014; material icon named "mode fan off".
  static const IconData mode_fan_off = IconData(0xf07ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mode_fan_off</i> &#x2014; material icon named "mode fan off" (sharp).
  static const IconData mode_fan_off_sharp = IconData(0xf0756, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mode_fan_off</i> &#x2014; material icon named "mode fan off" (round).
  static const IconData mode_fan_off_rounded = IconData(0xf0806, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mode_fan_off</i> &#x2014; material icon named "mode fan off" (outlined).
  static const IconData mode_fan_off_outlined = IconData(0xf06fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mode_night</i> &#x2014; material icon named "mode night".
  static const IconData mode_night = IconData(0xe3f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mode_night</i> &#x2014; material icon named "mode night" (sharp).
  static const IconData mode_night_sharp = IconData(0xeaec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mode_night</i> &#x2014; material icon named "mode night" (round).
  static const IconData mode_night_rounded = IconData(0xf8cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mode_night</i> &#x2014; material icon named "mode night" (outlined).
  static const IconData mode_night_outlined = IconData(0xf1d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mode_of_travel</i> &#x2014; material icon named "mode of travel".
  static const IconData mode_of_travel = IconData(0xf053c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mode_of_travel</i> &#x2014; material icon named "mode of travel" (sharp).
  static const IconData mode_of_travel_sharp = IconData(0xf0446, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mode_of_travel</i> &#x2014; material icon named "mode of travel" (round).
  static const IconData mode_of_travel_rounded = IconData(0xf0353, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mode_of_travel</i> &#x2014; material icon named "mode of travel" (outlined).
  static const IconData mode_of_travel_outlined = IconData(0xf0634, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mode_standby</i> &#x2014; material icon named "mode standby".
  static const IconData mode_standby = IconData(0xe3f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mode_standby</i> &#x2014; material icon named "mode standby" (sharp).
  static const IconData mode_standby_sharp = IconData(0xeaee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mode_standby</i> &#x2014; material icon named "mode standby" (round).
  static const IconData mode_standby_rounded = IconData(0xf8cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mode_standby</i> &#x2014; material icon named "mode standby" (outlined).
  static const IconData mode_standby_outlined = IconData(0xf1db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">model_training</i> &#x2014; material icon named "model training".
  static const IconData model_training = IconData(0xe3f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">model_training</i> &#x2014; material icon named "model training" (sharp).
  static const IconData model_training_sharp = IconData(0xeaef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">model_training</i> &#x2014; material icon named "model training" (round).
  static const IconData model_training_rounded = IconData(0xf8ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">model_training</i> &#x2014; material icon named "model training" (outlined).
  static const IconData model_training_outlined = IconData(0xf1dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">monetization_on</i> &#x2014; material icon named "monetization on".
  static const IconData monetization_on = IconData(0xe3f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">monetization_on</i> &#x2014; material icon named "monetization on" (sharp).
  static const IconData monetization_on_sharp = IconData(0xeaf0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">monetization_on</i> &#x2014; material icon named "monetization on" (round).
  static const IconData monetization_on_rounded = IconData(0xf8cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">monetization_on</i> &#x2014; material icon named "monetization on" (outlined).
  static const IconData monetization_on_outlined = IconData(0xf1dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">money</i> &#x2014; material icon named "money".
  static const IconData money = IconData(0xe3f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">money</i> &#x2014; material icon named "money" (sharp).
  static const IconData money_sharp = IconData(0xeaf3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">money</i> &#x2014; material icon named "money" (round).
  static const IconData money_rounded = IconData(0xf8d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">money</i> &#x2014; material icon named "money" (outlined).
  static const IconData money_outlined = IconData(0xf1e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">money_off</i> &#x2014; material icon named "money off".
  static const IconData money_off = IconData(0xe3f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">money_off</i> &#x2014; material icon named "money off" (sharp).
  static const IconData money_off_sharp = IconData(0xeaf2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">money_off</i> &#x2014; material icon named "money off" (round).
  static const IconData money_off_rounded = IconData(0xf8d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">money_off</i> &#x2014; material icon named "money off" (outlined).
  static const IconData money_off_outlined = IconData(0xf1df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">money_off_csred</i> &#x2014; material icon named "money off csred".
  static const IconData money_off_csred = IconData(0xe3fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">money_off_csred</i> &#x2014; material icon named "money off csred" (sharp).
  static const IconData money_off_csred_sharp = IconData(0xeaf1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">money_off_csred</i> &#x2014; material icon named "money off csred" (round).
  static const IconData money_off_csred_rounded = IconData(0xf8d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">money_off_csred</i> &#x2014; material icon named "money off csred" (outlined).
  static const IconData money_off_csred_outlined = IconData(0xf1de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">monitor</i> &#x2014; material icon named "monitor".
  static const IconData monitor = IconData(0xe3fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">monitor</i> &#x2014; material icon named "monitor" (sharp).
  static const IconData monitor_sharp = IconData(0xeaf4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">monitor</i> &#x2014; material icon named "monitor" (round).
  static const IconData monitor_rounded = IconData(0xf8d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">monitor</i> &#x2014; material icon named "monitor" (outlined).
  static const IconData monitor_outlined = IconData(0xf1e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">monitor_heart</i> &#x2014; material icon named "monitor heart".
  static const IconData monitor_heart = IconData(0xf053d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">monitor_heart</i> &#x2014; material icon named "monitor heart" (sharp).
  static const IconData monitor_heart_sharp = IconData(0xf0447, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">monitor_heart</i> &#x2014; material icon named "monitor heart" (round).
  static const IconData monitor_heart_rounded = IconData(0xf0354, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">monitor_heart</i> &#x2014; material icon named "monitor heart" (outlined).
  static const IconData monitor_heart_outlined = IconData(0xf0635, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">monitor_weight</i> &#x2014; material icon named "monitor weight".
  static const IconData monitor_weight = IconData(0xe3fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">monitor_weight</i> &#x2014; material icon named "monitor weight" (sharp).
  static const IconData monitor_weight_sharp = IconData(0xeaf5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">monitor_weight</i> &#x2014; material icon named "monitor weight" (round).
  static const IconData monitor_weight_rounded = IconData(0xf8d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">monitor_weight</i> &#x2014; material icon named "monitor weight" (outlined).
  static const IconData monitor_weight_outlined = IconData(0xf1e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">monochrome_photos</i> &#x2014; material icon named "monochrome photos".
  static const IconData monochrome_photos = IconData(0xe3fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">monochrome_photos</i> &#x2014; material icon named "monochrome photos" (sharp).
  static const IconData monochrome_photos_sharp = IconData(0xeaf6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">monochrome_photos</i> &#x2014; material icon named "monochrome photos" (round).
  static const IconData monochrome_photos_rounded = IconData(0xf8d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">monochrome_photos</i> &#x2014; material icon named "monochrome photos" (outlined).
  static const IconData monochrome_photos_outlined = IconData(0xf1e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mood</i> &#x2014; material icon named "mood".
  static const IconData mood = IconData(0xe3fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mood</i> &#x2014; material icon named "mood" (sharp).
  static const IconData mood_sharp = IconData(0xeaf8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mood</i> &#x2014; material icon named "mood" (round).
  static const IconData mood_rounded = IconData(0xf8d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mood</i> &#x2014; material icon named "mood" (outlined).
  static const IconData mood_outlined = IconData(0xf1e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mood_bad</i> &#x2014; material icon named "mood bad".
  static const IconData mood_bad = IconData(0xe3ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mood_bad</i> &#x2014; material icon named "mood bad" (sharp).
  static const IconData mood_bad_sharp = IconData(0xeaf7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mood_bad</i> &#x2014; material icon named "mood bad" (round).
  static const IconData mood_bad_rounded = IconData(0xf8d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mood_bad</i> &#x2014; material icon named "mood bad" (outlined).
  static const IconData mood_bad_outlined = IconData(0xf1e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">moped</i> &#x2014; material icon named "moped".
  static const IconData moped = IconData(0xe400, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">moped</i> &#x2014; material icon named "moped" (sharp).
  static const IconData moped_sharp = IconData(0xeaf9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">moped</i> &#x2014; material icon named "moped" (round).
  static const IconData moped_rounded = IconData(0xf8d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">moped</i> &#x2014; material icon named "moped" (outlined).
  static const IconData moped_outlined = IconData(0xf1e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">more</i> &#x2014; material icon named "more".
  static const IconData more = IconData(0xe401, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">more</i> &#x2014; material icon named "more" (sharp).
  static const IconData more_sharp = IconData(0xeafb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">more</i> &#x2014; material icon named "more" (round).
  static const IconData more_rounded = IconData(0xf8da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">more</i> &#x2014; material icon named "more" (outlined).
  static const IconData more_outlined = IconData(0xf1e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">more_horiz</i> &#x2014; material icon named "more horiz".
  static const IconData more_horiz = IconData(0xe402, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">more_horiz</i> &#x2014; material icon named "more horiz" (sharp).
  static const IconData more_horiz_sharp = IconData(0xeafa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">more_horiz</i> &#x2014; material icon named "more horiz" (round).
  static const IconData more_horiz_rounded = IconData(0xf8d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">more_horiz</i> &#x2014; material icon named "more horiz" (outlined).
  static const IconData more_horiz_outlined = IconData(0xf1e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">more_time</i> &#x2014; material icon named "more time".
  static const IconData more_time = IconData(0xe403, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">more_time</i> &#x2014; material icon named "more time" (sharp).
  static const IconData more_time_sharp = IconData(0xeafc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">more_time</i> &#x2014; material icon named "more time" (round).
  static const IconData more_time_rounded = IconData(0xf8db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">more_time</i> &#x2014; material icon named "more time" (outlined).
  static const IconData more_time_outlined = IconData(0xf1e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">more_vert</i> &#x2014; material icon named "more vert".
  static const IconData more_vert = IconData(0xe404, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">more_vert</i> &#x2014; material icon named "more vert" (sharp).
  static const IconData more_vert_sharp = IconData(0xeafd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">more_vert</i> &#x2014; material icon named "more vert" (round).
  static const IconData more_vert_rounded = IconData(0xf8dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">more_vert</i> &#x2014; material icon named "more vert" (outlined).
  static const IconData more_vert_outlined = IconData(0xf1ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mosque</i> &#x2014; material icon named "mosque".
  static const IconData mosque = IconData(0xf053e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mosque</i> &#x2014; material icon named "mosque" (sharp).
  static const IconData mosque_sharp = IconData(0xf0448, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mosque</i> &#x2014; material icon named "mosque" (round).
  static const IconData mosque_rounded = IconData(0xf0355, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mosque</i> &#x2014; material icon named "mosque" (outlined).
  static const IconData mosque_outlined = IconData(0xf0636, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">motion_photos_auto</i> &#x2014; material icon named "motion photos auto".
  static const IconData motion_photos_auto = IconData(0xe405, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">motion_photos_auto</i> &#x2014; material icon named "motion photos auto" (sharp).
  static const IconData motion_photos_auto_sharp = IconData(0xeafe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">motion_photos_auto</i> &#x2014; material icon named "motion photos auto" (round).
  static const IconData motion_photos_auto_rounded = IconData(0xf8dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">motion_photos_auto</i> &#x2014; material icon named "motion photos auto" (outlined).
  static const IconData motion_photos_auto_outlined = IconData(0xf1eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">motion_photos_off</i> &#x2014; material icon named "motion photos off".
  static const IconData motion_photos_off = IconData(0xe406, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">motion_photos_off</i> &#x2014; material icon named "motion photos off" (sharp).
  static const IconData motion_photos_off_sharp = IconData(0xeaff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">motion_photos_off</i> &#x2014; material icon named "motion photos off" (round).
  static const IconData motion_photos_off_rounded = IconData(0xf8de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">motion_photos_off</i> &#x2014; material icon named "motion photos off" (outlined).
  static const IconData motion_photos_off_outlined = IconData(0xf1ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">motion_photos_on</i> &#x2014; material icon named "motion photos on".
  static const IconData motion_photos_on = IconData(0xe407, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">motion_photos_on</i> &#x2014; material icon named "motion photos on" (sharp).
  static const IconData motion_photos_on_sharp = IconData(0xeb00, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">motion_photos_on</i> &#x2014; material icon named "motion photos on" (round).
  static const IconData motion_photos_on_rounded = IconData(0xf8df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">motion_photos_on</i> &#x2014; material icon named "motion photos on" (outlined).
  static const IconData motion_photos_on_outlined = IconData(0xf1ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">motion_photos_pause</i> &#x2014; material icon named "motion photos pause".
  static const IconData motion_photos_pause = IconData(0xe408, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">motion_photos_pause</i> &#x2014; material icon named "motion photos pause" (sharp).
  static const IconData motion_photos_pause_sharp = IconData(0xeb01, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">motion_photos_pause</i> &#x2014; material icon named "motion photos pause" (round).
  static const IconData motion_photos_pause_rounded = IconData(0xf8e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">motion_photos_pause</i> &#x2014; material icon named "motion photos pause" (outlined).
  static const IconData motion_photos_pause_outlined = IconData(0xf1ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">motion_photos_paused</i> &#x2014; material icon named "motion photos paused".
  static const IconData motion_photos_paused = IconData(0xe409, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">motion_photos_paused</i> &#x2014; material icon named "motion photos paused" (sharp).
  static const IconData motion_photos_paused_sharp = IconData(0xeb02, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">motion_photos_paused</i> &#x2014; material icon named "motion photos paused" (round).
  static const IconData motion_photos_paused_rounded = IconData(0xf8e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">motion_photos_paused</i> &#x2014; material icon named "motion photos paused" (outlined).
  static const IconData motion_photos_paused_outlined = IconData(0xf1ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">motorcycle</i> &#x2014; material icon named "motorcycle".
  static const IconData motorcycle = IconData(0xe40a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">motorcycle</i> &#x2014; material icon named "motorcycle" (sharp).
  static const IconData motorcycle_sharp = IconData(0xeb03, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">motorcycle</i> &#x2014; material icon named "motorcycle" (round).
  static const IconData motorcycle_rounded = IconData(0xf8e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">motorcycle</i> &#x2014; material icon named "motorcycle" (outlined).
  static const IconData motorcycle_outlined = IconData(0xf1f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mouse</i> &#x2014; material icon named "mouse".
  static const IconData mouse = IconData(0xe40b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mouse</i> &#x2014; material icon named "mouse" (sharp).
  static const IconData mouse_sharp = IconData(0xeb04, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mouse</i> &#x2014; material icon named "mouse" (round).
  static const IconData mouse_rounded = IconData(0xf8e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mouse</i> &#x2014; material icon named "mouse" (outlined).
  static const IconData mouse_outlined = IconData(0xf1f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">move_down</i> &#x2014; material icon named "move down".
  static const IconData move_down = IconData(0xf053f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">move_down</i> &#x2014; material icon named "move down" (sharp).
  static const IconData move_down_sharp = IconData(0xf0449, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">move_down</i> &#x2014; material icon named "move down" (round).
  static const IconData move_down_rounded = IconData(0xf0356, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">move_down</i> &#x2014; material icon named "move down" (outlined).
  static const IconData move_down_outlined = IconData(0xf0637, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">move_to_inbox</i> &#x2014; material icon named "move to inbox".
  static const IconData move_to_inbox = IconData(0xe40c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">move_to_inbox</i> &#x2014; material icon named "move to inbox" (sharp).
  static const IconData move_to_inbox_sharp = IconData(0xeb05, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">move_to_inbox</i> &#x2014; material icon named "move to inbox" (round).
  static const IconData move_to_inbox_rounded = IconData(0xf8e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">move_to_inbox</i> &#x2014; material icon named "move to inbox" (outlined).
  static const IconData move_to_inbox_outlined = IconData(0xf1f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">move_up</i> &#x2014; material icon named "move up".
  static const IconData move_up = IconData(0xf0540, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">move_up</i> &#x2014; material icon named "move up" (sharp).
  static const IconData move_up_sharp = IconData(0xf044a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">move_up</i> &#x2014; material icon named "move up" (round).
  static const IconData move_up_rounded = IconData(0xf0357, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">move_up</i> &#x2014; material icon named "move up" (outlined).
  static const IconData move_up_outlined = IconData(0xf0638, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">movie</i> &#x2014; material icon named "movie".
  static const IconData movie = IconData(0xe40d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">movie</i> &#x2014; material icon named "movie" (sharp).
  static const IconData movie_sharp = IconData(0xeb08, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">movie</i> &#x2014; material icon named "movie" (round).
  static const IconData movie_rounded = IconData(0xf8e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">movie</i> &#x2014; material icon named "movie" (outlined).
  static const IconData movie_outlined = IconData(0xf1f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">movie_creation</i> &#x2014; material icon named "movie creation".
  static const IconData movie_creation = IconData(0xe40e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">movie_creation</i> &#x2014; material icon named "movie creation" (sharp).
  static const IconData movie_creation_sharp = IconData(0xeb06, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">movie_creation</i> &#x2014; material icon named "movie creation" (round).
  static const IconData movie_creation_rounded = IconData(0xf8e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">movie_creation</i> &#x2014; material icon named "movie creation" (outlined).
  static const IconData movie_creation_outlined = IconData(0xf1f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">movie_edit</i> &#x2014; material icon named "movie edit".
  static const IconData movie_edit = IconData(0xf08b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">movie_filter</i> &#x2014; material icon named "movie filter".
  static const IconData movie_filter = IconData(0xe40f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">movie_filter</i> &#x2014; material icon named "movie filter" (sharp).
  static const IconData movie_filter_sharp = IconData(0xeb07, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">movie_filter</i> &#x2014; material icon named "movie filter" (round).
  static const IconData movie_filter_rounded = IconData(0xf8e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">movie_filter</i> &#x2014; material icon named "movie filter" (outlined).
  static const IconData movie_filter_outlined = IconData(0xf1f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">moving</i> &#x2014; material icon named "moving".
  static const IconData moving = IconData(0xe410, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">moving</i> &#x2014; material icon named "moving" (sharp).
  static const IconData moving_sharp = IconData(0xeb09, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">moving</i> &#x2014; material icon named "moving" (round).
  static const IconData moving_rounded = IconData(0xf8e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">moving</i> &#x2014; material icon named "moving" (outlined).
  static const IconData moving_outlined = IconData(0xf1f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mp</i> &#x2014; material icon named "mp".
  static const IconData mp = IconData(0xe411, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mp</i> &#x2014; material icon named "mp" (sharp).
  static const IconData mp_sharp = IconData(0xeb0a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mp</i> &#x2014; material icon named "mp" (round).
  static const IconData mp_rounded = IconData(0xf8e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mp</i> &#x2014; material icon named "mp" (outlined).
  static const IconData mp_outlined = IconData(0xf1f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">multiline_chart</i> &#x2014; material icon named "multiline chart".
  static const IconData multiline_chart = IconData(0xe412, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">multiline_chart</i> &#x2014; material icon named "multiline chart" (sharp).
  static const IconData multiline_chart_sharp = IconData(0xeb0b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">multiline_chart</i> &#x2014; material icon named "multiline chart" (round).
  static const IconData multiline_chart_rounded = IconData(0xf8ea, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">multiline_chart</i> &#x2014; material icon named "multiline chart" (outlined).
  static const IconData multiline_chart_outlined = IconData(0xf1f8, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">multiple_stop</i> &#x2014; material icon named "multiple stop".
  static const IconData multiple_stop = IconData(0xe413, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">multiple_stop</i> &#x2014; material icon named "multiple stop" (sharp).
  static const IconData multiple_stop_sharp = IconData(0xeb0c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">multiple_stop</i> &#x2014; material icon named "multiple stop" (round).
  static const IconData multiple_stop_rounded = IconData(0xf8eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">multiple_stop</i> &#x2014; material icon named "multiple stop" (outlined).
  static const IconData multiple_stop_outlined = IconData(0xf1f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">multitrack_audio</i> &#x2014; material icon named "multitrack audio".
  static const IconData multitrack_audio = IconData(0xe2e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">multitrack_audio</i> &#x2014; material icon named "multitrack audio" (sharp).
  static const IconData multitrack_audio_sharp = IconData(0xe9de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">multitrack_audio</i> &#x2014; material icon named "multitrack audio" (round).
  static const IconData multitrack_audio_rounded = IconData(0xf7bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">multitrack_audio</i> &#x2014; material icon named "multitrack audio" (outlined).
  static const IconData multitrack_audio_outlined = IconData(0xf0d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">museum</i> &#x2014; material icon named "museum".
  static const IconData museum = IconData(0xe414, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">museum</i> &#x2014; material icon named "museum" (sharp).
  static const IconData museum_sharp = IconData(0xeb0d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">museum</i> &#x2014; material icon named "museum" (round).
  static const IconData museum_rounded = IconData(0xf8ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">museum</i> &#x2014; material icon named "museum" (outlined).
  static const IconData museum_outlined = IconData(0xf1fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">music_note</i> &#x2014; material icon named "music note".
  static const IconData music_note = IconData(0xe415, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">music_note</i> &#x2014; material icon named "music note" (sharp).
  static const IconData music_note_sharp = IconData(0xeb0e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">music_note</i> &#x2014; material icon named "music note" (round).
  static const IconData music_note_rounded = IconData(0xf8ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">music_note</i> &#x2014; material icon named "music note" (outlined).
  static const IconData music_note_outlined = IconData(0xf1fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">music_off</i> &#x2014; material icon named "music off".
  static const IconData music_off = IconData(0xe416, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">music_off</i> &#x2014; material icon named "music off" (sharp).
  static const IconData music_off_sharp = IconData(0xeb0f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">music_off</i> &#x2014; material icon named "music off" (round).
  static const IconData music_off_rounded = IconData(0xf8ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">music_off</i> &#x2014; material icon named "music off" (outlined).
  static const IconData music_off_outlined = IconData(0xf1fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">music_video</i> &#x2014; material icon named "music video".
  static const IconData music_video = IconData(0xe417, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">music_video</i> &#x2014; material icon named "music video" (sharp).
  static const IconData music_video_sharp = IconData(0xeb10, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">music_video</i> &#x2014; material icon named "music video" (round).
  static const IconData music_video_rounded = IconData(0xf8ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">music_video</i> &#x2014; material icon named "music video" (outlined).
  static const IconData music_video_outlined = IconData(0xf1fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">my_library_add</i> &#x2014; material icon named "my library add".
  static const IconData my_library_add = IconData(0xe375, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">my_library_add</i> &#x2014; material icon named "my library add" (sharp).
  static const IconData my_library_add_sharp = IconData(0xea70, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">my_library_add</i> &#x2014; material icon named "my library add" (round).
  static const IconData my_library_add_rounded = IconData(0xf84f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">my_library_add</i> &#x2014; material icon named "my library add" (outlined).
  static const IconData my_library_add_outlined = IconData(0xf15f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">my_library_books</i> &#x2014; material icon named "my library books".
  static const IconData my_library_books = IconData(0xe377, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">my_library_books</i> &#x2014; material icon named "my library books" (sharp).
  static const IconData my_library_books_sharp = IconData(0xea71, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">my_library_books</i> &#x2014; material icon named "my library books" (round).
  static const IconData my_library_books_rounded = IconData(0xf850, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">my_library_books</i> &#x2014; material icon named "my library books" (outlined).
  static const IconData my_library_books_outlined = IconData(0xf160, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">my_library_music</i> &#x2014; material icon named "my library music".
  static const IconData my_library_music = IconData(0xe378, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">my_library_music</i> &#x2014; material icon named "my library music" (sharp).
  static const IconData my_library_music_sharp = IconData(0xea72, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">my_library_music</i> &#x2014; material icon named "my library music" (round).
  static const IconData my_library_music_rounded = IconData(0xf851, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">my_library_music</i> &#x2014; material icon named "my library music" (outlined).
  static const IconData my_library_music_outlined = IconData(0xf161, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">my_location</i> &#x2014; material icon named "my location".
  static const IconData my_location = IconData(0xe418, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">my_location</i> &#x2014; material icon named "my location" (sharp).
  static const IconData my_location_sharp = IconData(0xeb11, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">my_location</i> &#x2014; material icon named "my location" (round).
  static const IconData my_location_rounded = IconData(0xf8f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">my_location</i> &#x2014; material icon named "my location" (outlined).
  static const IconData my_location_outlined = IconData(0xf1fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nat</i> &#x2014; material icon named "nat".
  static const IconData nat = IconData(0xe419, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nat</i> &#x2014; material icon named "nat" (sharp).
  static const IconData nat_sharp = IconData(0xeb12, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nat</i> &#x2014; material icon named "nat" (round).
  static const IconData nat_rounded = IconData(0xf8f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nat</i> &#x2014; material icon named "nat" (outlined).
  static const IconData nat_outlined = IconData(0xf1ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nature</i> &#x2014; material icon named "nature".
  static const IconData nature = IconData(0xe41a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nature</i> &#x2014; material icon named "nature" (sharp).
  static const IconData nature_sharp = IconData(0xeb14, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nature</i> &#x2014; material icon named "nature" (round).
  static const IconData nature_rounded = IconData(0xf8f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nature</i> &#x2014; material icon named "nature" (outlined).
  static const IconData nature_outlined = IconData(0xf200, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nature_people</i> &#x2014; material icon named "nature people".
  static const IconData nature_people = IconData(0xe41b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nature_people</i> &#x2014; material icon named "nature people" (sharp).
  static const IconData nature_people_sharp = IconData(0xeb13, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nature_people</i> &#x2014; material icon named "nature people" (round).
  static const IconData nature_people_rounded = IconData(0xf8f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nature_people</i> &#x2014; material icon named "nature people" (outlined).
  static const IconData nature_people_outlined = IconData(0xf201, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">navigate_before</i> &#x2014; material icon named "navigate before".
  static const IconData navigate_before = IconData(0xe41c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">navigate_before</i> &#x2014; material icon named "navigate before" (sharp).
  static const IconData navigate_before_sharp = IconData(0xeb15, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">navigate_before</i> &#x2014; material icon named "navigate before" (round).
  static const IconData navigate_before_rounded = IconData(0xf8f4, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">navigate_before</i> &#x2014; material icon named "navigate before" (outlined).
  static const IconData navigate_before_outlined = IconData(0xf202, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">navigate_next</i> &#x2014; material icon named "navigate next".
  static const IconData navigate_next = IconData(0xe41d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">navigate_next</i> &#x2014; material icon named "navigate next" (sharp).
  static const IconData navigate_next_sharp = IconData(0xeb16, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">navigate_next</i> &#x2014; material icon named "navigate next" (round).
  static const IconData navigate_next_rounded = IconData(0xf8f5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">navigate_next</i> &#x2014; material icon named "navigate next" (outlined).
  static const IconData navigate_next_outlined = IconData(0xf203, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">navigation</i> &#x2014; material icon named "navigation".
  static const IconData navigation = IconData(0xe41e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">navigation</i> &#x2014; material icon named "navigation" (sharp).
  static const IconData navigation_sharp = IconData(0xeb17, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">navigation</i> &#x2014; material icon named "navigation" (round).
  static const IconData navigation_rounded = IconData(0xf8f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">navigation</i> &#x2014; material icon named "navigation" (outlined).
  static const IconData navigation_outlined = IconData(0xf204, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">near_me</i> &#x2014; material icon named "near me".
  static const IconData near_me = IconData(0xe41f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">near_me</i> &#x2014; material icon named "near me" (sharp).
  static const IconData near_me_sharp = IconData(0xeb19, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">near_me</i> &#x2014; material icon named "near me" (round).
  static const IconData near_me_rounded = IconData(0xf8f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">near_me</i> &#x2014; material icon named "near me" (outlined).
  static const IconData near_me_outlined = IconData(0xf206, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">near_me_disabled</i> &#x2014; material icon named "near me disabled".
  static const IconData near_me_disabled = IconData(0xe420, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">near_me_disabled</i> &#x2014; material icon named "near me disabled" (sharp).
  static const IconData near_me_disabled_sharp = IconData(0xeb18, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">near_me_disabled</i> &#x2014; material icon named "near me disabled" (round).
  static const IconData near_me_disabled_rounded = IconData(0xf8f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">near_me_disabled</i> &#x2014; material icon named "near me disabled" (outlined).
  static const IconData near_me_disabled_outlined = IconData(0xf205, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nearby_error</i> &#x2014; material icon named "nearby error".
  static const IconData nearby_error = IconData(0xe421, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nearby_error</i> &#x2014; material icon named "nearby error" (sharp).
  static const IconData nearby_error_sharp = IconData(0xeb1a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nearby_error</i> &#x2014; material icon named "nearby error" (round).
  static const IconData nearby_error_rounded = IconData(0xf8f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nearby_error</i> &#x2014; material icon named "nearby error" (outlined).
  static const IconData nearby_error_outlined = IconData(0xf207, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nearby_off</i> &#x2014; material icon named "nearby off".
  static const IconData nearby_off = IconData(0xe422, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nearby_off</i> &#x2014; material icon named "nearby off" (sharp).
  static const IconData nearby_off_sharp = IconData(0xeb1b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nearby_off</i> &#x2014; material icon named "nearby off" (round).
  static const IconData nearby_off_rounded = IconData(0xf8fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nearby_off</i> &#x2014; material icon named "nearby off" (outlined).
  static const IconData nearby_off_outlined = IconData(0xf208, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nest_cam_wired_stand</i> &#x2014; material icon named "nest cam wired stand".
  static const IconData nest_cam_wired_stand = IconData(0xf07af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nest_cam_wired_stand</i> &#x2014; material icon named "nest cam wired stand" (sharp).
  static const IconData nest_cam_wired_stand_sharp = IconData(0xf0757, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nest_cam_wired_stand</i> &#x2014; material icon named "nest cam wired stand" (round).
  static const IconData nest_cam_wired_stand_rounded = IconData(0xf0807, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nest_cam_wired_stand</i> &#x2014; material icon named "nest cam wired stand" (outlined).
  static const IconData nest_cam_wired_stand_outlined = IconData(0xf06ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">network_cell</i> &#x2014; material icon named "network cell".
  static const IconData network_cell = IconData(0xe423, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">network_cell</i> &#x2014; material icon named "network cell" (sharp).
  static const IconData network_cell_sharp = IconData(0xeb1c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">network_cell</i> &#x2014; material icon named "network cell" (round).
  static const IconData network_cell_rounded = IconData(0xf8fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">network_cell</i> &#x2014; material icon named "network cell" (outlined).
  static const IconData network_cell_outlined = IconData(0xf209, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">network_check</i> &#x2014; material icon named "network check".
  static const IconData network_check = IconData(0xe424, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">network_check</i> &#x2014; material icon named "network check" (sharp).
  static const IconData network_check_sharp = IconData(0xeb1d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">network_check</i> &#x2014; material icon named "network check" (round).
  static const IconData network_check_rounded = IconData(0xf8fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">network_check</i> &#x2014; material icon named "network check" (outlined).
  static const IconData network_check_outlined = IconData(0xf20a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">network_locked</i> &#x2014; material icon named "network locked".
  static const IconData network_locked = IconData(0xe425, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">network_locked</i> &#x2014; material icon named "network locked" (sharp).
  static const IconData network_locked_sharp = IconData(0xeb1e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">network_locked</i> &#x2014; material icon named "network locked" (round).
  static const IconData network_locked_rounded = IconData(0xf8fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">network_locked</i> &#x2014; material icon named "network locked" (outlined).
  static const IconData network_locked_outlined = IconData(0xf20b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">network_ping</i> &#x2014; material icon named "network ping".
  static const IconData network_ping = IconData(0xf06bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">network_ping</i> &#x2014; material icon named "network ping" (sharp).
  static const IconData network_ping_sharp = IconData(0xf06b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">network_ping</i> &#x2014; material icon named "network ping" (round).
  static const IconData network_ping_rounded = IconData(0xf06cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">network_ping</i> &#x2014; material icon named "network ping" (outlined).
  static const IconData network_ping_outlined = IconData(0xf06a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">network_wifi</i> &#x2014; material icon named "network wifi".
  static const IconData network_wifi = IconData(0xe426, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">network_wifi</i> &#x2014; material icon named "network wifi" (sharp).
  static const IconData network_wifi_sharp = IconData(0xeb1f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">network_wifi</i> &#x2014; material icon named "network wifi" (round).
  static const IconData network_wifi_rounded = IconData(0xf8fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">network_wifi</i> &#x2014; material icon named "network wifi" (outlined).
  static const IconData network_wifi_outlined = IconData(0xf20c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">network_wifi_1_bar</i> &#x2014; material icon named "network wifi 1 bar".
  static const IconData network_wifi_1_bar = IconData(0xf07b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">network_wifi_1_bar</i> &#x2014; material icon named "network wifi 1 bar" (sharp).
  static const IconData network_wifi_1_bar_sharp = IconData(0xf0758, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">network_wifi_1_bar</i> &#x2014; material icon named "network wifi 1 bar" (round).
  static const IconData network_wifi_1_bar_rounded = IconData(0xf0808, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">network_wifi_1_bar</i> &#x2014; material icon named "network wifi 1 bar" (outlined).
  static const IconData network_wifi_1_bar_outlined = IconData(0xf0700, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">network_wifi_2_bar</i> &#x2014; material icon named "network wifi 2 bar".
  static const IconData network_wifi_2_bar = IconData(0xf07b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">network_wifi_2_bar</i> &#x2014; material icon named "network wifi 2 bar" (sharp).
  static const IconData network_wifi_2_bar_sharp = IconData(0xf0759, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">network_wifi_2_bar</i> &#x2014; material icon named "network wifi 2 bar" (round).
  static const IconData network_wifi_2_bar_rounded = IconData(0xf0809, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">network_wifi_2_bar</i> &#x2014; material icon named "network wifi 2 bar" (outlined).
  static const IconData network_wifi_2_bar_outlined = IconData(0xf0701, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">network_wifi_3_bar</i> &#x2014; material icon named "network wifi 3 bar".
  static const IconData network_wifi_3_bar = IconData(0xf07b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">network_wifi_3_bar</i> &#x2014; material icon named "network wifi 3 bar" (sharp).
  static const IconData network_wifi_3_bar_sharp = IconData(0xf075a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">network_wifi_3_bar</i> &#x2014; material icon named "network wifi 3 bar" (round).
  static const IconData network_wifi_3_bar_rounded = IconData(0xf080a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">network_wifi_3_bar</i> &#x2014; material icon named "network wifi 3 bar" (outlined).
  static const IconData network_wifi_3_bar_outlined = IconData(0xf0702, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">new_label</i> &#x2014; material icon named "new label".
  static const IconData new_label = IconData(0xe427, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">new_label</i> &#x2014; material icon named "new label" (sharp).
  static const IconData new_label_sharp = IconData(0xeb20, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">new_label</i> &#x2014; material icon named "new label" (round).
  static const IconData new_label_rounded = IconData(0xf8ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">new_label</i> &#x2014; material icon named "new label" (outlined).
  static const IconData new_label_outlined = IconData(0xf20d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">new_releases</i> &#x2014; material icon named "new releases".
  static const IconData new_releases = IconData(0xe428, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">new_releases</i> &#x2014; material icon named "new releases" (sharp).
  static const IconData new_releases_sharp = IconData(0xeb21, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">new_releases</i> &#x2014; material icon named "new releases" (round).
  static const IconData new_releases_rounded = IconData(0xf0000, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">new_releases</i> &#x2014; material icon named "new releases" (outlined).
  static const IconData new_releases_outlined = IconData(0xf20e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">newspaper</i> &#x2014; material icon named "newspaper".
  static const IconData newspaper = IconData(0xf0541, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">newspaper</i> &#x2014; material icon named "newspaper" (sharp).
  static const IconData newspaper_sharp = IconData(0xf044b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">newspaper</i> &#x2014; material icon named "newspaper" (round).
  static const IconData newspaper_rounded = IconData(0xf0358, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">newspaper</i> &#x2014; material icon named "newspaper" (outlined).
  static const IconData newspaper_outlined = IconData(0xf0639, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">next_plan</i> &#x2014; material icon named "next plan".
  static const IconData next_plan = IconData(0xe429, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">next_plan</i> &#x2014; material icon named "next plan" (sharp).
  static const IconData next_plan_sharp = IconData(0xeb22, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">next_plan</i> &#x2014; material icon named "next plan" (round).
  static const IconData next_plan_rounded = IconData(0xf0001, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">next_plan</i> &#x2014; material icon named "next plan" (outlined).
  static const IconData next_plan_outlined = IconData(0xf20f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">next_week</i> &#x2014; material icon named "next week".
  static const IconData next_week = IconData(0xe42a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">next_week</i> &#x2014; material icon named "next week" (sharp).
  static const IconData next_week_sharp = IconData(0xeb23, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">next_week</i> &#x2014; material icon named "next week" (round).
  static const IconData next_week_rounded = IconData(0xf0002, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">next_week</i> &#x2014; material icon named "next week" (outlined).
  static const IconData next_week_outlined = IconData(0xf210, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">nfc</i> &#x2014; material icon named "nfc".
  static const IconData nfc = IconData(0xe42b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nfc</i> &#x2014; material icon named "nfc" (sharp).
  static const IconData nfc_sharp = IconData(0xeb24, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nfc</i> &#x2014; material icon named "nfc" (round).
  static const IconData nfc_rounded = IconData(0xf0003, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nfc</i> &#x2014; material icon named "nfc" (outlined).
  static const IconData nfc_outlined = IconData(0xf211, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">night_shelter</i> &#x2014; material icon named "night shelter".
  static const IconData night_shelter = IconData(0xe42c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">night_shelter</i> &#x2014; material icon named "night shelter" (sharp).
  static const IconData night_shelter_sharp = IconData(0xeb25, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">night_shelter</i> &#x2014; material icon named "night shelter" (round).
  static const IconData night_shelter_rounded = IconData(0xf0004, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">night_shelter</i> &#x2014; material icon named "night shelter" (outlined).
  static const IconData night_shelter_outlined = IconData(0xf212, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nightlife</i> &#x2014; material icon named "nightlife".
  static const IconData nightlife = IconData(0xe42d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nightlife</i> &#x2014; material icon named "nightlife" (sharp).
  static const IconData nightlife_sharp = IconData(0xeb26, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nightlife</i> &#x2014; material icon named "nightlife" (round).
  static const IconData nightlife_rounded = IconData(0xf0005, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nightlife</i> &#x2014; material icon named "nightlife" (outlined).
  static const IconData nightlife_outlined = IconData(0xf213, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nightlight</i> &#x2014; material icon named "nightlight".
  static const IconData nightlight = IconData(0xe42e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nightlight</i> &#x2014; material icon named "nightlight" (sharp).
  static const IconData nightlight_sharp = IconData(0xeb28, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nightlight</i> &#x2014; material icon named "nightlight" (round).
  static const IconData nightlight_rounded = IconData(0xf0007, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nightlight</i> &#x2014; material icon named "nightlight" (outlined).
  static const IconData nightlight_outlined = IconData(0xf214, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nightlight_round</i> &#x2014; material icon named "nightlight round".
  static const IconData nightlight_round = IconData(0xe42f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nightlight_round</i> &#x2014; material icon named "nightlight round" (sharp).
  static const IconData nightlight_round_sharp = IconData(0xeb27, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nightlight_round</i> &#x2014; material icon named "nightlight round" (round).
  static const IconData nightlight_round_rounded = IconData(0xf0006, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nightlight_round</i> &#x2014; material icon named "nightlight round" (outlined).
  static const IconData nightlight_round_outlined = IconData(0xf215, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nights_stay</i> &#x2014; material icon named "nights stay".
  static const IconData nights_stay = IconData(0xe430, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nights_stay</i> &#x2014; material icon named "nights stay" (sharp).
  static const IconData nights_stay_sharp = IconData(0xeb29, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nights_stay</i> &#x2014; material icon named "nights stay" (round).
  static const IconData nights_stay_rounded = IconData(0xf0008, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nights_stay</i> &#x2014; material icon named "nights stay" (outlined).
  static const IconData nights_stay_outlined = IconData(0xf216, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_accounts</i> &#x2014; material icon named "no accounts".
  static const IconData no_accounts = IconData(0xe431, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_accounts</i> &#x2014; material icon named "no accounts" (sharp).
  static const IconData no_accounts_sharp = IconData(0xeb2a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_accounts</i> &#x2014; material icon named "no accounts" (round).
  static const IconData no_accounts_rounded = IconData(0xf0009, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_accounts</i> &#x2014; material icon named "no accounts" (outlined).
  static const IconData no_accounts_outlined = IconData(0xf217, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_adult_content</i> &#x2014; material icon named "no adult content".
  static const IconData no_adult_content = IconData(0xf07b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_adult_content</i> &#x2014; material icon named "no adult content" (sharp).
  static const IconData no_adult_content_sharp = IconData(0xf075b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_adult_content</i> &#x2014; material icon named "no adult content" (round).
  static const IconData no_adult_content_rounded = IconData(0xf080b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_adult_content</i> &#x2014; material icon named "no adult content" (outlined).
  static const IconData no_adult_content_outlined = IconData(0xf0703, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_backpack</i> &#x2014; material icon named "no backpack".
  static const IconData no_backpack = IconData(0xe432, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_backpack</i> &#x2014; material icon named "no backpack" (sharp).
  static const IconData no_backpack_sharp = IconData(0xeb2b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_backpack</i> &#x2014; material icon named "no backpack" (round).
  static const IconData no_backpack_rounded = IconData(0xf000a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_backpack</i> &#x2014; material icon named "no backpack" (outlined).
  static const IconData no_backpack_outlined = IconData(0xf218, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_cell</i> &#x2014; material icon named "no cell".
  static const IconData no_cell = IconData(0xe433, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_cell</i> &#x2014; material icon named "no cell" (sharp).
  static const IconData no_cell_sharp = IconData(0xeb2c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_cell</i> &#x2014; material icon named "no cell" (round).
  static const IconData no_cell_rounded = IconData(0xf000b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_cell</i> &#x2014; material icon named "no cell" (outlined).
  static const IconData no_cell_outlined = IconData(0xf219, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_crash</i> &#x2014; material icon named "no crash".
  static const IconData no_crash = IconData(0xf07b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_crash</i> &#x2014; material icon named "no crash" (sharp).
  static const IconData no_crash_sharp = IconData(0xf075c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_crash</i> &#x2014; material icon named "no crash" (round).
  static const IconData no_crash_rounded = IconData(0xf080c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_crash</i> &#x2014; material icon named "no crash" (outlined).
  static const IconData no_crash_outlined = IconData(0xf0704, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_drinks</i> &#x2014; material icon named "no drinks".
  static const IconData no_drinks = IconData(0xe434, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_drinks</i> &#x2014; material icon named "no drinks" (sharp).
  static const IconData no_drinks_sharp = IconData(0xeb2d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_drinks</i> &#x2014; material icon named "no drinks" (round).
  static const IconData no_drinks_rounded = IconData(0xf000c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_drinks</i> &#x2014; material icon named "no drinks" (outlined).
  static const IconData no_drinks_outlined = IconData(0xf21a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_encryption</i> &#x2014; material icon named "no encryption".
  static const IconData no_encryption = IconData(0xe435, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_encryption</i> &#x2014; material icon named "no encryption" (sharp).
  static const IconData no_encryption_sharp = IconData(0xeb2f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_encryption</i> &#x2014; material icon named "no encryption" (round).
  static const IconData no_encryption_rounded = IconData(0xf000e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_encryption</i> &#x2014; material icon named "no encryption" (outlined).
  static const IconData no_encryption_outlined = IconData(0xf21c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_encryption_gmailerrorred</i> &#x2014; material icon named "no encryption gmailerrorred".
  static const IconData no_encryption_gmailerrorred = IconData(0xe436, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_encryption_gmailerrorred</i> &#x2014; material icon named "no encryption gmailerrorred" (sharp).
  static const IconData no_encryption_gmailerrorred_sharp = IconData(0xeb2e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_encryption_gmailerrorred</i> &#x2014; material icon named "no encryption gmailerrorred" (round).
  static const IconData no_encryption_gmailerrorred_rounded = IconData(0xf000d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_encryption_gmailerrorred</i> &#x2014; material icon named "no encryption gmailerrorred" (outlined).
  static const IconData no_encryption_gmailerrorred_outlined = IconData(0xf21b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_flash</i> &#x2014; material icon named "no flash".
  static const IconData no_flash = IconData(0xe437, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_flash</i> &#x2014; material icon named "no flash" (sharp).
  static const IconData no_flash_sharp = IconData(0xeb30, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_flash</i> &#x2014; material icon named "no flash" (round).
  static const IconData no_flash_rounded = IconData(0xf000f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_flash</i> &#x2014; material icon named "no flash" (outlined).
  static const IconData no_flash_outlined = IconData(0xf21d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_food</i> &#x2014; material icon named "no food".
  static const IconData no_food = IconData(0xe438, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_food</i> &#x2014; material icon named "no food" (sharp).
  static const IconData no_food_sharp = IconData(0xeb31, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_food</i> &#x2014; material icon named "no food" (round).
  static const IconData no_food_rounded = IconData(0xf0010, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_food</i> &#x2014; material icon named "no food" (outlined).
  static const IconData no_food_outlined = IconData(0xf21e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_luggage</i> &#x2014; material icon named "no luggage".
  static const IconData no_luggage = IconData(0xe439, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_luggage</i> &#x2014; material icon named "no luggage" (sharp).
  static const IconData no_luggage_sharp = IconData(0xeb32, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_luggage</i> &#x2014; material icon named "no luggage" (round).
  static const IconData no_luggage_rounded = IconData(0xf0011, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_luggage</i> &#x2014; material icon named "no luggage" (outlined).
  static const IconData no_luggage_outlined = IconData(0xf21f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_meals</i> &#x2014; material icon named "no meals".
  static const IconData no_meals = IconData(0xe43a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_meals</i> &#x2014; material icon named "no meals" (sharp).
  static const IconData no_meals_sharp = IconData(0xeb33, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_meals</i> &#x2014; material icon named "no meals" (round).
  static const IconData no_meals_rounded = IconData(0xf0012, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_meals</i> &#x2014; material icon named "no meals" (outlined).
  static const IconData no_meals_outlined = IconData(0xf220, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_meals_ouline</i> &#x2014; material icon named "no meals ouline".
  static const IconData no_meals_ouline = IconData(0xe43b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_meeting_room</i> &#x2014; material icon named "no meeting room".
  static const IconData no_meeting_room = IconData(0xe43c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_meeting_room</i> &#x2014; material icon named "no meeting room" (sharp).
  static const IconData no_meeting_room_sharp = IconData(0xeb34, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_meeting_room</i> &#x2014; material icon named "no meeting room" (round).
  static const IconData no_meeting_room_rounded = IconData(0xf0013, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_meeting_room</i> &#x2014; material icon named "no meeting room" (outlined).
  static const IconData no_meeting_room_outlined = IconData(0xf221, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_photography</i> &#x2014; material icon named "no photography".
  static const IconData no_photography = IconData(0xe43d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_photography</i> &#x2014; material icon named "no photography" (sharp).
  static const IconData no_photography_sharp = IconData(0xeb35, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_photography</i> &#x2014; material icon named "no photography" (round).
  static const IconData no_photography_rounded = IconData(0xf0014, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_photography</i> &#x2014; material icon named "no photography" (outlined).
  static const IconData no_photography_outlined = IconData(0xf222, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_sim</i> &#x2014; material icon named "no sim".
  static const IconData no_sim = IconData(0xe43e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_sim</i> &#x2014; material icon named "no sim" (sharp).
  static const IconData no_sim_sharp = IconData(0xeb36, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_sim</i> &#x2014; material icon named "no sim" (round).
  static const IconData no_sim_rounded = IconData(0xf0015, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_sim</i> &#x2014; material icon named "no sim" (outlined).
  static const IconData no_sim_outlined = IconData(0xf223, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_stroller</i> &#x2014; material icon named "no stroller".
  static const IconData no_stroller = IconData(0xe43f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_stroller</i> &#x2014; material icon named "no stroller" (sharp).
  static const IconData no_stroller_sharp = IconData(0xeb37, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_stroller</i> &#x2014; material icon named "no stroller" (round).
  static const IconData no_stroller_rounded = IconData(0xf0016, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_stroller</i> &#x2014; material icon named "no stroller" (outlined).
  static const IconData no_stroller_outlined = IconData(0xf224, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_transfer</i> &#x2014; material icon named "no transfer".
  static const IconData no_transfer = IconData(0xe440, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_transfer</i> &#x2014; material icon named "no transfer" (sharp).
  static const IconData no_transfer_sharp = IconData(0xeb38, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_transfer</i> &#x2014; material icon named "no transfer" (round).
  static const IconData no_transfer_rounded = IconData(0xf0017, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_transfer</i> &#x2014; material icon named "no transfer" (outlined).
  static const IconData no_transfer_outlined = IconData(0xf225, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">noise_aware</i> &#x2014; material icon named "noise aware".
  static const IconData noise_aware = IconData(0xf07b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">noise_aware</i> &#x2014; material icon named "noise aware" (sharp).
  static const IconData noise_aware_sharp = IconData(0xf075d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">noise_aware</i> &#x2014; material icon named "noise aware" (round).
  static const IconData noise_aware_rounded = IconData(0xf080d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">noise_aware</i> &#x2014; material icon named "noise aware" (outlined).
  static const IconData noise_aware_outlined = IconData(0xf0705, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">noise_control_off</i> &#x2014; material icon named "noise control off".
  static const IconData noise_control_off = IconData(0xf07b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">noise_control_off</i> &#x2014; material icon named "noise control off" (sharp).
  static const IconData noise_control_off_sharp = IconData(0xf075e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">noise_control_off</i> &#x2014; material icon named "noise control off" (round).
  static const IconData noise_control_off_rounded = IconData(0xf080e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">noise_control_off</i> &#x2014; material icon named "noise control off" (outlined).
  static const IconData noise_control_off_outlined = IconData(0xf0706, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nordic_walking</i> &#x2014; material icon named "nordic walking".
  static const IconData nordic_walking = IconData(0xe441, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nordic_walking</i> &#x2014; material icon named "nordic walking" (sharp).
  static const IconData nordic_walking_sharp = IconData(0xeb39, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nordic_walking</i> &#x2014; material icon named "nordic walking" (round).
  static const IconData nordic_walking_rounded = IconData(0xf0018, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nordic_walking</i> &#x2014; material icon named "nordic walking" (outlined).
  static const IconData nordic_walking_outlined = IconData(0xf226, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">north</i> &#x2014; material icon named "north".
  static const IconData north = IconData(0xe442, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">north</i> &#x2014; material icon named "north" (sharp).
  static const IconData north_sharp = IconData(0xeb3b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">north</i> &#x2014; material icon named "north" (round).
  static const IconData north_rounded = IconData(0xf001a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">north</i> &#x2014; material icon named "north" (outlined).
  static const IconData north_outlined = IconData(0xf228, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">north_east</i> &#x2014; material icon named "north east".
  static const IconData north_east = IconData(0xe443, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">north_east</i> &#x2014; material icon named "north east" (sharp).
  static const IconData north_east_sharp = IconData(0xeb3a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">north_east</i> &#x2014; material icon named "north east" (round).
  static const IconData north_east_rounded = IconData(0xf0019, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">north_east</i> &#x2014; material icon named "north east" (outlined).
  static const IconData north_east_outlined = IconData(0xf227, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">north_west</i> &#x2014; material icon named "north west".
  static const IconData north_west = IconData(0xe444, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">north_west</i> &#x2014; material icon named "north west" (sharp).
  static const IconData north_west_sharp = IconData(0xeb3c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">north_west</i> &#x2014; material icon named "north west" (round).
  static const IconData north_west_rounded = IconData(0xf001b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">north_west</i> &#x2014; material icon named "north west" (outlined).
  static const IconData north_west_outlined = IconData(0xf229, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">not_accessible</i> &#x2014; material icon named "not accessible".
  static const IconData not_accessible = IconData(0xe445, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">not_accessible</i> &#x2014; material icon named "not accessible" (sharp).
  static const IconData not_accessible_sharp = IconData(0xeb3d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">not_accessible</i> &#x2014; material icon named "not accessible" (round).
  static const IconData not_accessible_rounded = IconData(0xf001c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">not_accessible</i> &#x2014; material icon named "not accessible" (outlined).
  static const IconData not_accessible_outlined = IconData(0xf22a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">not_interested</i> &#x2014; material icon named "not interested".
  static const IconData not_interested = IconData(0xe446, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">not_interested</i> &#x2014; material icon named "not interested" (sharp).
  static const IconData not_interested_sharp = IconData(0xeb3e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">not_interested</i> &#x2014; material icon named "not interested" (round).
  static const IconData not_interested_rounded = IconData(0xf001d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">not_interested</i> &#x2014; material icon named "not interested" (outlined).
  static const IconData not_interested_outlined = IconData(0xf22b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">not_listed_location</i> &#x2014; material icon named "not listed location".
  static const IconData not_listed_location = IconData(0xe447, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">not_listed_location</i> &#x2014; material icon named "not listed location" (sharp).
  static const IconData not_listed_location_sharp = IconData(0xeb3f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">not_listed_location</i> &#x2014; material icon named "not listed location" (round).
  static const IconData not_listed_location_rounded = IconData(0xf001e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">not_listed_location</i> &#x2014; material icon named "not listed location" (outlined).
  static const IconData not_listed_location_outlined = IconData(0xf22c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">not_started</i> &#x2014; material icon named "not started".
  static const IconData not_started = IconData(0xe448, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">not_started</i> &#x2014; material icon named "not started" (sharp).
  static const IconData not_started_sharp = IconData(0xeb40, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">not_started</i> &#x2014; material icon named "not started" (round).
  static const IconData not_started_rounded = IconData(0xf001f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">not_started</i> &#x2014; material icon named "not started" (outlined).
  static const IconData not_started_outlined = IconData(0xf22d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">note</i> &#x2014; material icon named "note".
  static const IconData note = IconData(0xe449, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">note</i> &#x2014; material icon named "note" (sharp).
  static const IconData note_sharp = IconData(0xeb43, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">note</i> &#x2014; material icon named "note" (round).
  static const IconData note_rounded = IconData(0xf0022, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">note</i> &#x2014; material icon named "note" (outlined).
  static const IconData note_outlined = IconData(0xf230, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">note_add</i> &#x2014; material icon named "note add".
  static const IconData note_add = IconData(0xe44a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">note_add</i> &#x2014; material icon named "note add" (sharp).
  static const IconData note_add_sharp = IconData(0xeb41, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">note_add</i> &#x2014; material icon named "note add" (round).
  static const IconData note_add_rounded = IconData(0xf0020, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">note_add</i> &#x2014; material icon named "note add" (outlined).
  static const IconData note_add_outlined = IconData(0xf22e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">note_alt</i> &#x2014; material icon named "note alt".
  static const IconData note_alt = IconData(0xe44b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">note_alt</i> &#x2014; material icon named "note alt" (sharp).
  static const IconData note_alt_sharp = IconData(0xeb42, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">note_alt</i> &#x2014; material icon named "note alt" (round).
  static const IconData note_alt_rounded = IconData(0xf0021, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">note_alt</i> &#x2014; material icon named "note alt" (outlined).
  static const IconData note_alt_outlined = IconData(0xf22f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">notes</i> &#x2014; material icon named "notes".
  static const IconData notes = IconData(0xe44c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">notes</i> &#x2014; material icon named "notes" (sharp).
  static const IconData notes_sharp = IconData(0xeb44, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">notes</i> &#x2014; material icon named "notes" (round).
  static const IconData notes_rounded = IconData(0xf0023, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">notes</i> &#x2014; material icon named "notes" (outlined).
  static const IconData notes_outlined = IconData(0xf231, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">notification_add</i> &#x2014; material icon named "notification add".
  static const IconData notification_add = IconData(0xe44d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">notification_add</i> &#x2014; material icon named "notification add" (sharp).
  static const IconData notification_add_sharp = IconData(0xeb45, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">notification_add</i> &#x2014; material icon named "notification add" (round).
  static const IconData notification_add_rounded = IconData(0xf0024, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">notification_add</i> &#x2014; material icon named "notification add" (outlined).
  static const IconData notification_add_outlined = IconData(0xf232, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">notification_important</i> &#x2014; material icon named "notification important".
  static const IconData notification_important = IconData(0xe44e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">notification_important</i> &#x2014; material icon named "notification important" (sharp).
  static const IconData notification_important_sharp = IconData(0xeb46, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">notification_important</i> &#x2014; material icon named "notification important" (round).
  static const IconData notification_important_rounded = IconData(0xf0025, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">notification_important</i> &#x2014; material icon named "notification important" (outlined).
  static const IconData notification_important_outlined = IconData(0xf233, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">notifications</i> &#x2014; material icon named "notifications".
  static const IconData notifications = IconData(0xe44f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">notifications</i> &#x2014; material icon named "notifications" (sharp).
  static const IconData notifications_sharp = IconData(0xeb4b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">notifications</i> &#x2014; material icon named "notifications" (round).
  static const IconData notifications_rounded = IconData(0xf002a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">notifications</i> &#x2014; material icon named "notifications" (outlined).
  static const IconData notifications_outlined = IconData(0xf237, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">notifications_active</i> &#x2014; material icon named "notifications active".
  static const IconData notifications_active = IconData(0xe450, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">notifications_active</i> &#x2014; material icon named "notifications active" (sharp).
  static const IconData notifications_active_sharp = IconData(0xeb47, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">notifications_active</i> &#x2014; material icon named "notifications active" (round).
  static const IconData notifications_active_rounded = IconData(0xf0026, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">notifications_active</i> &#x2014; material icon named "notifications active" (outlined).
  static const IconData notifications_active_outlined = IconData(0xf234, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">notifications_none</i> &#x2014; material icon named "notifications none".
  static const IconData notifications_none = IconData(0xe451, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">notifications_none</i> &#x2014; material icon named "notifications none" (sharp).
  static const IconData notifications_none_sharp = IconData(0xeb48, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">notifications_none</i> &#x2014; material icon named "notifications none" (round).
  static const IconData notifications_none_rounded = IconData(0xf0027, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">notifications_none</i> &#x2014; material icon named "notifications none" (outlined).
  static const IconData notifications_none_outlined = IconData(0xf235, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">notifications_off</i> &#x2014; material icon named "notifications off".
  static const IconData notifications_off = IconData(0xe452, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">notifications_off</i> &#x2014; material icon named "notifications off" (sharp).
  static const IconData notifications_off_sharp = IconData(0xeb49, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">notifications_off</i> &#x2014; material icon named "notifications off" (round).
  static const IconData notifications_off_rounded = IconData(0xf0028, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">notifications_off</i> &#x2014; material icon named "notifications off" (outlined).
  static const IconData notifications_off_outlined = IconData(0xf236, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">notifications_on</i> &#x2014; material icon named "notifications on".
  static const IconData notifications_on = IconData(0xe450, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">notifications_on</i> &#x2014; material icon named "notifications on" (sharp).
  static const IconData notifications_on_sharp = IconData(0xeb47, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">notifications_on</i> &#x2014; material icon named "notifications on" (round).
  static const IconData notifications_on_rounded = IconData(0xf0026, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">notifications_on</i> &#x2014; material icon named "notifications on" (outlined).
  static const IconData notifications_on_outlined = IconData(0xf234, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">notifications_paused</i> &#x2014; material icon named "notifications paused".
  static const IconData notifications_paused = IconData(0xe453, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">notifications_paused</i> &#x2014; material icon named "notifications paused" (sharp).
  static const IconData notifications_paused_sharp = IconData(0xeb4a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">notifications_paused</i> &#x2014; material icon named "notifications paused" (round).
  static const IconData notifications_paused_rounded = IconData(0xf0029, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">notifications_paused</i> &#x2014; material icon named "notifications paused" (outlined).
  static const IconData notifications_paused_outlined = IconData(0xf238, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">now_wallpaper</i> &#x2014; material icon named "now wallpaper".
  static const IconData now_wallpaper = IconData(0xe6ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">now_wallpaper</i> &#x2014; material icon named "now wallpaper" (sharp).
  static const IconData now_wallpaper_sharp = IconData(0xedc0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">now_wallpaper</i> &#x2014; material icon named "now wallpaper" (round).
  static const IconData now_wallpaper_rounded = IconData(0xf029f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">now_wallpaper</i> &#x2014; material icon named "now wallpaper" (outlined).
  static const IconData now_wallpaper_outlined = IconData(0xf4ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">now_widgets</i> &#x2014; material icon named "now widgets".
  static const IconData now_widgets = IconData(0xe6e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">now_widgets</i> &#x2014; material icon named "now widgets" (sharp).
  static const IconData now_widgets_sharp = IconData(0xedda, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">now_widgets</i> &#x2014; material icon named "now widgets" (round).
  static const IconData now_widgets_rounded = IconData(0xf02b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">now_widgets</i> &#x2014; material icon named "now widgets" (outlined).
  static const IconData now_widgets_outlined = IconData(0xf4c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">numbers</i> &#x2014; material icon named "numbers".
  static const IconData numbers = IconData(0xf0542, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">numbers</i> &#x2014; material icon named "numbers" (sharp).
  static const IconData numbers_sharp = IconData(0xf044c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">numbers</i> &#x2014; material icon named "numbers" (round).
  static const IconData numbers_rounded = IconData(0xf0359, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">numbers</i> &#x2014; material icon named "numbers" (outlined).
  static const IconData numbers_outlined = IconData(0xf063a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">offline_bolt</i> &#x2014; material icon named "offline bolt".
  static const IconData offline_bolt = IconData(0xe454, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">offline_bolt</i> &#x2014; material icon named "offline bolt" (sharp).
  static const IconData offline_bolt_sharp = IconData(0xeb4c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">offline_bolt</i> &#x2014; material icon named "offline bolt" (round).
  static const IconData offline_bolt_rounded = IconData(0xf002b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">offline_bolt</i> &#x2014; material icon named "offline bolt" (outlined).
  static const IconData offline_bolt_outlined = IconData(0xf239, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">offline_pin</i> &#x2014; material icon named "offline pin".
  static const IconData offline_pin = IconData(0xe455, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">offline_pin</i> &#x2014; material icon named "offline pin" (sharp).
  static const IconData offline_pin_sharp = IconData(0xeb4d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">offline_pin</i> &#x2014; material icon named "offline pin" (round).
  static const IconData offline_pin_rounded = IconData(0xf002c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">offline_pin</i> &#x2014; material icon named "offline pin" (outlined).
  static const IconData offline_pin_outlined = IconData(0xf23a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">offline_share</i> &#x2014; material icon named "offline share".
  static const IconData offline_share = IconData(0xe456, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">offline_share</i> &#x2014; material icon named "offline share" (sharp).
  static const IconData offline_share_sharp = IconData(0xeb4e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">offline_share</i> &#x2014; material icon named "offline share" (round).
  static const IconData offline_share_rounded = IconData(0xf002d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">offline_share</i> &#x2014; material icon named "offline share" (outlined).
  static const IconData offline_share_outlined = IconData(0xf23b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">oil_barrel</i> &#x2014; material icon named "oil barrel".
  static const IconData oil_barrel = IconData(0xf07b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">oil_barrel</i> &#x2014; material icon named "oil barrel" (sharp).
  static const IconData oil_barrel_sharp = IconData(0xf075f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">oil_barrel</i> &#x2014; material icon named "oil barrel" (round).
  static const IconData oil_barrel_rounded = IconData(0xf080f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">oil_barrel</i> &#x2014; material icon named "oil barrel" (outlined).
  static const IconData oil_barrel_outlined = IconData(0xf0707, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">on_device_training</i> &#x2014; material icon named "on device training".
  static const IconData on_device_training = IconData(0xf07b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">on_device_training</i> &#x2014; material icon named "on device training" (sharp).
  static const IconData on_device_training_sharp = IconData(0xf0760, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">on_device_training</i> &#x2014; material icon named "on device training" (round).
  static const IconData on_device_training_rounded = IconData(0xf0810, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">on_device_training</i> &#x2014; material icon named "on device training" (outlined).
  static const IconData on_device_training_outlined = IconData(0xf0708, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ondemand_video</i> &#x2014; material icon named "ondemand video".
  static const IconData ondemand_video = IconData(0xe457, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ondemand_video</i> &#x2014; material icon named "ondemand video" (sharp).
  static const IconData ondemand_video_sharp = IconData(0xeb4f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ondemand_video</i> &#x2014; material icon named "ondemand video" (round).
  static const IconData ondemand_video_rounded = IconData(0xf002e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ondemand_video</i> &#x2014; material icon named "ondemand video" (outlined).
  static const IconData ondemand_video_outlined = IconData(0xf23c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">online_prediction</i> &#x2014; material icon named "online prediction".
  static const IconData online_prediction = IconData(0xe458, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">online_prediction</i> &#x2014; material icon named "online prediction" (sharp).
  static const IconData online_prediction_sharp = IconData(0xeb50, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">online_prediction</i> &#x2014; material icon named "online prediction" (round).
  static const IconData online_prediction_rounded = IconData(0xf002f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">online_prediction</i> &#x2014; material icon named "online prediction" (outlined).
  static const IconData online_prediction_outlined = IconData(0xf23d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">opacity</i> &#x2014; material icon named "opacity".
  static const IconData opacity = IconData(0xe459, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">opacity</i> &#x2014; material icon named "opacity" (sharp).
  static const IconData opacity_sharp = IconData(0xeb51, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">opacity</i> &#x2014; material icon named "opacity" (round).
  static const IconData opacity_rounded = IconData(0xf0030, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">opacity</i> &#x2014; material icon named "opacity" (outlined).
  static const IconData opacity_outlined = IconData(0xf23e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">open_in_browser</i> &#x2014; material icon named "open in browser".
  static const IconData open_in_browser = IconData(0xe45a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">open_in_browser</i> &#x2014; material icon named "open in browser" (sharp).
  static const IconData open_in_browser_sharp = IconData(0xeb52, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">open_in_browser</i> &#x2014; material icon named "open in browser" (round).
  static const IconData open_in_browser_rounded = IconData(0xf0031, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">open_in_browser</i> &#x2014; material icon named "open in browser" (outlined).
  static const IconData open_in_browser_outlined = IconData(0xf23f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">open_in_full</i> &#x2014; material icon named "open in full".
  static const IconData open_in_full = IconData(0xe45b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">open_in_full</i> &#x2014; material icon named "open in full" (sharp).
  static const IconData open_in_full_sharp = IconData(0xeb53, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">open_in_full</i> &#x2014; material icon named "open in full" (round).
  static const IconData open_in_full_rounded = IconData(0xf0032, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">open_in_full</i> &#x2014; material icon named "open in full" (outlined).
  static const IconData open_in_full_outlined = IconData(0xf240, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">open_in_new</i> &#x2014; material icon named "open in new".
  static const IconData open_in_new = IconData(0xe45c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">open_in_new</i> &#x2014; material icon named "open in new" (sharp).
  static const IconData open_in_new_sharp = IconData(0xeb55, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">open_in_new</i> &#x2014; material icon named "open in new" (round).
  static const IconData open_in_new_rounded = IconData(0xf0034, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">open_in_new</i> &#x2014; material icon named "open in new" (outlined).
  static const IconData open_in_new_outlined = IconData(0xf242, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">open_in_new_off</i> &#x2014; material icon named "open in new off".
  static const IconData open_in_new_off = IconData(0xe45d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">open_in_new_off</i> &#x2014; material icon named "open in new off" (sharp).
  static const IconData open_in_new_off_sharp = IconData(0xeb54, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">open_in_new_off</i> &#x2014; material icon named "open in new off" (round).
  static const IconData open_in_new_off_rounded = IconData(0xf0033, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">open_in_new_off</i> &#x2014; material icon named "open in new off" (outlined).
  static const IconData open_in_new_off_outlined = IconData(0xf241, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">open_with</i> &#x2014; material icon named "open with".
  static const IconData open_with = IconData(0xe45e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">open_with</i> &#x2014; material icon named "open with" (sharp).
  static const IconData open_with_sharp = IconData(0xeb56, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">open_with</i> &#x2014; material icon named "open with" (round).
  static const IconData open_with_rounded = IconData(0xf0035, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">open_with</i> &#x2014; material icon named "open with" (outlined).
  static const IconData open_with_outlined = IconData(0xf243, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">other_houses</i> &#x2014; material icon named "other houses".
  static const IconData other_houses = IconData(0xe45f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">other_houses</i> &#x2014; material icon named "other houses" (sharp).
  static const IconData other_houses_sharp = IconData(0xeb57, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">other_houses</i> &#x2014; material icon named "other houses" (round).
  static const IconData other_houses_rounded = IconData(0xf0036, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">other_houses</i> &#x2014; material icon named "other houses" (outlined).
  static const IconData other_houses_outlined = IconData(0xf244, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">outbond</i> &#x2014; material icon named "outbond".
  static const IconData outbond = IconData(0xe460, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">outbond</i> &#x2014; material icon named "outbond" (sharp).
  static const IconData outbond_sharp = IconData(0xeb58, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">outbond</i> &#x2014; material icon named "outbond" (round).
  static const IconData outbond_rounded = IconData(0xf0037, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">outbond</i> &#x2014; material icon named "outbond" (outlined).
  static const IconData outbond_outlined = IconData(0xf245, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">outbound</i> &#x2014; material icon named "outbound".
  static const IconData outbound = IconData(0xe461, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">outbound</i> &#x2014; material icon named "outbound" (sharp).
  static const IconData outbound_sharp = IconData(0xeb59, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">outbound</i> &#x2014; material icon named "outbound" (round).
  static const IconData outbound_rounded = IconData(0xf0038, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">outbound</i> &#x2014; material icon named "outbound" (outlined).
  static const IconData outbound_outlined = IconData(0xf246, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">outbox</i> &#x2014; material icon named "outbox".
  static const IconData outbox = IconData(0xe462, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">outbox</i> &#x2014; material icon named "outbox" (sharp).
  static const IconData outbox_sharp = IconData(0xeb5a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">outbox</i> &#x2014; material icon named "outbox" (round).
  static const IconData outbox_rounded = IconData(0xf0039, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">outbox</i> &#x2014; material icon named "outbox" (outlined).
  static const IconData outbox_outlined = IconData(0xf247, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">outdoor_grill</i> &#x2014; material icon named "outdoor grill".
  static const IconData outdoor_grill = IconData(0xe463, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">outdoor_grill</i> &#x2014; material icon named "outdoor grill" (sharp).
  static const IconData outdoor_grill_sharp = IconData(0xeb5b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">outdoor_grill</i> &#x2014; material icon named "outdoor grill" (round).
  static const IconData outdoor_grill_rounded = IconData(0xf003a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">outdoor_grill</i> &#x2014; material icon named "outdoor grill" (outlined).
  static const IconData outdoor_grill_outlined = IconData(0xf248, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">outgoing_mail</i> &#x2014; material icon named "outgoing mail".
  static const IconData outgoing_mail = IconData(0xe464, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">outlet</i> &#x2014; material icon named "outlet".
  static const IconData outlet = IconData(0xe465, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">outlet</i> &#x2014; material icon named "outlet" (sharp).
  static const IconData outlet_sharp = IconData(0xeb5c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">outlet</i> &#x2014; material icon named "outlet" (round).
  static const IconData outlet_rounded = IconData(0xf003b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">outlet</i> &#x2014; material icon named "outlet" (outlined).
  static const IconData outlet_outlined = IconData(0xf249, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">outlined_flag</i> &#x2014; material icon named "outlined flag".
  static const IconData outlined_flag = IconData(0xe466, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">outlined_flag</i> &#x2014; material icon named "outlined flag" (sharp).
  static const IconData outlined_flag_sharp = IconData(0xeb5d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">outlined_flag</i> &#x2014; material icon named "outlined flag" (round).
  static const IconData outlined_flag_rounded = IconData(0xf003c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">outlined_flag</i> &#x2014; material icon named "outlined flag" (outlined).
  static const IconData outlined_flag_outlined = IconData(0xf24a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">output</i> &#x2014; material icon named "output".
  static const IconData output = IconData(0xf0543, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">output</i> &#x2014; material icon named "output" (sharp).
  static const IconData output_sharp = IconData(0xf044d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">output</i> &#x2014; material icon named "output" (round).
  static const IconData output_rounded = IconData(0xf035a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">output</i> &#x2014; material icon named "output" (outlined).
  static const IconData output_outlined = IconData(0xf063b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">padding</i> &#x2014; material icon named "padding".
  static const IconData padding = IconData(0xe467, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">padding</i> &#x2014; material icon named "padding" (sharp).
  static const IconData padding_sharp = IconData(0xeb5e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">padding</i> &#x2014; material icon named "padding" (round).
  static const IconData padding_rounded = IconData(0xf003d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">padding</i> &#x2014; material icon named "padding" (outlined).
  static const IconData padding_outlined = IconData(0xf24b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pages</i> &#x2014; material icon named "pages".
  static const IconData pages = IconData(0xe468, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pages</i> &#x2014; material icon named "pages" (sharp).
  static const IconData pages_sharp = IconData(0xeb5f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pages</i> &#x2014; material icon named "pages" (round).
  static const IconData pages_rounded = IconData(0xf003e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pages</i> &#x2014; material icon named "pages" (outlined).
  static const IconData pages_outlined = IconData(0xf24c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pageview</i> &#x2014; material icon named "pageview".
  static const IconData pageview = IconData(0xe469, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pageview</i> &#x2014; material icon named "pageview" (sharp).
  static const IconData pageview_sharp = IconData(0xeb60, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pageview</i> &#x2014; material icon named "pageview" (round).
  static const IconData pageview_rounded = IconData(0xf003f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pageview</i> &#x2014; material icon named "pageview" (outlined).
  static const IconData pageview_outlined = IconData(0xf24d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">paid</i> &#x2014; material icon named "paid".
  static const IconData paid = IconData(0xe46a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">paid</i> &#x2014; material icon named "paid" (sharp).
  static const IconData paid_sharp = IconData(0xeb61, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">paid</i> &#x2014; material icon named "paid" (round).
  static const IconData paid_rounded = IconData(0xf0040, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">paid</i> &#x2014; material icon named "paid" (outlined).
  static const IconData paid_outlined = IconData(0xf24e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">palette</i> &#x2014; material icon named "palette".
  static const IconData palette = IconData(0xe46b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">palette</i> &#x2014; material icon named "palette" (sharp).
  static const IconData palette_sharp = IconData(0xeb62, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">palette</i> &#x2014; material icon named "palette" (round).
  static const IconData palette_rounded = IconData(0xf0041, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">palette</i> &#x2014; material icon named "palette" (outlined).
  static const IconData palette_outlined = IconData(0xf24f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pallet</i> &#x2014; material icon named "pallet".
  static const IconData pallet = IconData(0xf086f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pan_tool</i> &#x2014; material icon named "pan tool".
  static const IconData pan_tool = IconData(0xe46c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pan_tool</i> &#x2014; material icon named "pan tool" (sharp).
  static const IconData pan_tool_sharp = IconData(0xeb63, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pan_tool</i> &#x2014; material icon named "pan tool" (round).
  static const IconData pan_tool_rounded = IconData(0xf0042, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pan_tool</i> &#x2014; material icon named "pan tool" (outlined).
  static const IconData pan_tool_outlined = IconData(0xf250, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pan_tool_alt</i> &#x2014; material icon named "pan tool alt".
  static const IconData pan_tool_alt = IconData(0xf0544, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pan_tool_alt</i> &#x2014; material icon named "pan tool alt" (sharp).
  static const IconData pan_tool_alt_sharp = IconData(0xf044e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pan_tool_alt</i> &#x2014; material icon named "pan tool alt" (round).
  static const IconData pan_tool_alt_rounded = IconData(0xf035b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pan_tool_alt</i> &#x2014; material icon named "pan tool alt" (outlined).
  static const IconData pan_tool_alt_outlined = IconData(0xf063c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama</i> &#x2014; material icon named "panorama".
  static const IconData panorama = IconData(0xe46d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama</i> &#x2014; material icon named "panorama" (sharp).
  static const IconData panorama_sharp = IconData(0xeb69, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama</i> &#x2014; material icon named "panorama" (round).
  static const IconData panorama_rounded = IconData(0xf0048, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama</i> &#x2014; material icon named "panorama" (outlined).
  static const IconData panorama_outlined = IconData(0xf254, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama_fish_eye</i> &#x2014; material icon named "panorama fish eye".
  static const IconData panorama_fish_eye = IconData(0xe46e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama_fish_eye</i> &#x2014; material icon named "panorama fish eye" (sharp).
  static const IconData panorama_fish_eye_sharp = IconData(0xeb64, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama_fish_eye</i> &#x2014; material icon named "panorama fish eye" (round).
  static const IconData panorama_fish_eye_rounded = IconData(0xf0043, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama_fish_eye</i> &#x2014; material icon named "panorama fish eye" (outlined).
  static const IconData panorama_fish_eye_outlined = IconData(0xf251, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama_fisheye</i> &#x2014; material icon named "panorama fisheye".
  static const IconData panorama_fisheye = IconData(0xe46e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama_fisheye</i> &#x2014; material icon named "panorama fisheye" (sharp).
  static const IconData panorama_fisheye_sharp = IconData(0xeb64, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama_fisheye</i> &#x2014; material icon named "panorama fisheye" (round).
  static const IconData panorama_fisheye_rounded = IconData(0xf0043, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama_fisheye</i> &#x2014; material icon named "panorama fisheye" (outlined).
  static const IconData panorama_fisheye_outlined = IconData(0xf251, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama_horizontal</i> &#x2014; material icon named "panorama horizontal".
  static const IconData panorama_horizontal = IconData(0xe46f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama_horizontal</i> &#x2014; material icon named "panorama horizontal" (sharp).
  static const IconData panorama_horizontal_sharp = IconData(0xeb66, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama_horizontal</i> &#x2014; material icon named "panorama horizontal" (round).
  static const IconData panorama_horizontal_rounded = IconData(0xf0044, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama_horizontal</i> &#x2014; material icon named "panorama horizontal" (outlined).
  static const IconData panorama_horizontal_outlined = IconData(0xf252, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama_horizontal_select</i> &#x2014; material icon named "panorama horizontal select".
  static const IconData panorama_horizontal_select = IconData(0xe470, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama_horizontal_select</i> &#x2014; material icon named "panorama horizontal select" (sharp).
  static const IconData panorama_horizontal_select_sharp = IconData(0xeb65, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama_horizontal_select</i> &#x2014; material icon named "panorama horizontal select" (round).
  static const IconData panorama_horizontal_select_rounded = IconData(0xf0045, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama_horizontal_select</i> &#x2014; material icon named "panorama horizontal select" (outlined).
  static const IconData panorama_horizontal_select_outlined = IconData(0xf253, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama_photosphere</i> &#x2014; material icon named "panorama photosphere".
  static const IconData panorama_photosphere = IconData(0xe471, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama_photosphere</i> &#x2014; material icon named "panorama photosphere" (sharp).
  static const IconData panorama_photosphere_sharp = IconData(0xeb68, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama_photosphere</i> &#x2014; material icon named "panorama photosphere" (round).
  static const IconData panorama_photosphere_rounded = IconData(0xf0046, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama_photosphere</i> &#x2014; material icon named "panorama photosphere" (outlined).
  static const IconData panorama_photosphere_outlined = IconData(0xf255, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama_photosphere_select</i> &#x2014; material icon named "panorama photosphere select".
  static const IconData panorama_photosphere_select = IconData(0xe472, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama_photosphere_select</i> &#x2014; material icon named "panorama photosphere select" (sharp).
  static const IconData panorama_photosphere_select_sharp = IconData(0xeb67, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama_photosphere_select</i> &#x2014; material icon named "panorama photosphere select" (round).
  static const IconData panorama_photosphere_select_rounded = IconData(0xf0047, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama_photosphere_select</i> &#x2014; material icon named "panorama photosphere select" (outlined).
  static const IconData panorama_photosphere_select_outlined = IconData(0xf256, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama_vertical</i> &#x2014; material icon named "panorama vertical".
  static const IconData panorama_vertical = IconData(0xe473, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama_vertical</i> &#x2014; material icon named "panorama vertical" (sharp).
  static const IconData panorama_vertical_sharp = IconData(0xeb6b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama_vertical</i> &#x2014; material icon named "panorama vertical" (round).
  static const IconData panorama_vertical_rounded = IconData(0xf0049, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama_vertical</i> &#x2014; material icon named "panorama vertical" (outlined).
  static const IconData panorama_vertical_outlined = IconData(0xf257, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama_vertical_select</i> &#x2014; material icon named "panorama vertical select".
  static const IconData panorama_vertical_select = IconData(0xe474, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama_vertical_select</i> &#x2014; material icon named "panorama vertical select" (sharp).
  static const IconData panorama_vertical_select_sharp = IconData(0xeb6a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama_vertical_select</i> &#x2014; material icon named "panorama vertical select" (round).
  static const IconData panorama_vertical_select_rounded = IconData(0xf004a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama_vertical_select</i> &#x2014; material icon named "panorama vertical select" (outlined).
  static const IconData panorama_vertical_select_outlined = IconData(0xf258, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama_wide_angle</i> &#x2014; material icon named "panorama wide angle".
  static const IconData panorama_wide_angle = IconData(0xe475, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama_wide_angle</i> &#x2014; material icon named "panorama wide angle" (sharp).
  static const IconData panorama_wide_angle_sharp = IconData(0xeb6d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama_wide_angle</i> &#x2014; material icon named "panorama wide angle" (round).
  static const IconData panorama_wide_angle_rounded = IconData(0xf004b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama_wide_angle</i> &#x2014; material icon named "panorama wide angle" (outlined).
  static const IconData panorama_wide_angle_outlined = IconData(0xf259, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama_wide_angle_select</i> &#x2014; material icon named "panorama wide angle select".
  static const IconData panorama_wide_angle_select = IconData(0xe476, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama_wide_angle_select</i> &#x2014; material icon named "panorama wide angle select" (sharp).
  static const IconData panorama_wide_angle_select_sharp = IconData(0xeb6c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama_wide_angle_select</i> &#x2014; material icon named "panorama wide angle select" (round).
  static const IconData panorama_wide_angle_select_rounded = IconData(0xf004c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama_wide_angle_select</i> &#x2014; material icon named "panorama wide angle select" (outlined).
  static const IconData panorama_wide_angle_select_outlined = IconData(0xf25a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">paragliding</i> &#x2014; material icon named "paragliding".
  static const IconData paragliding = IconData(0xe477, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">paragliding</i> &#x2014; material icon named "paragliding" (sharp).
  static const IconData paragliding_sharp = IconData(0xeb6e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">paragliding</i> &#x2014; material icon named "paragliding" (round).
  static const IconData paragliding_rounded = IconData(0xf004d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">paragliding</i> &#x2014; material icon named "paragliding" (outlined).
  static const IconData paragliding_outlined = IconData(0xf25b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">park</i> &#x2014; material icon named "park".
  static const IconData park = IconData(0xe478, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">park</i> &#x2014; material icon named "park" (sharp).
  static const IconData park_sharp = IconData(0xeb6f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">park</i> &#x2014; material icon named "park" (round).
  static const IconData park_rounded = IconData(0xf004e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">park</i> &#x2014; material icon named "park" (outlined).
  static const IconData park_outlined = IconData(0xf25c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">party_mode</i> &#x2014; material icon named "party mode".
  static const IconData party_mode = IconData(0xe479, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">party_mode</i> &#x2014; material icon named "party mode" (sharp).
  static const IconData party_mode_sharp = IconData(0xeb70, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">party_mode</i> &#x2014; material icon named "party mode" (round).
  static const IconData party_mode_rounded = IconData(0xf004f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">party_mode</i> &#x2014; material icon named "party mode" (outlined).
  static const IconData party_mode_outlined = IconData(0xf25d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">password</i> &#x2014; material icon named "password".
  static const IconData password = IconData(0xe47a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">password</i> &#x2014; material icon named "password" (sharp).
  static const IconData password_sharp = IconData(0xeb71, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">password</i> &#x2014; material icon named "password" (round).
  static const IconData password_rounded = IconData(0xf0050, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">password</i> &#x2014; material icon named "password" (outlined).
  static const IconData password_outlined = IconData(0xf25e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">paste</i> &#x2014; material icon named "paste".
  static const IconData paste = IconData(0xe192, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">paste</i> &#x2014; material icon named "paste" (sharp).
  static const IconData paste_sharp = IconData(0xe890, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">paste</i> &#x2014; material icon named "paste" (round).
  static const IconData paste_rounded = IconData(0xf66f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">paste</i> &#x2014; material icon named "paste" (outlined).
  static const IconData paste_outlined = IconData(0xef82, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pattern</i> &#x2014; material icon named "pattern".
  static const IconData pattern = IconData(0xe47b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pattern</i> &#x2014; material icon named "pattern" (sharp).
  static const IconData pattern_sharp = IconData(0xeb72, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pattern</i> &#x2014; material icon named "pattern" (round).
  static const IconData pattern_rounded = IconData(0xf0051, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pattern</i> &#x2014; material icon named "pattern" (outlined).
  static const IconData pattern_outlined = IconData(0xf25f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pause</i> &#x2014; material icon named "pause".
  static const IconData pause = IconData(0xe47c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pause</i> &#x2014; material icon named "pause" (sharp).
  static const IconData pause_sharp = IconData(0xeb77, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pause</i> &#x2014; material icon named "pause" (round).
  static const IconData pause_rounded = IconData(0xf0056, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pause</i> &#x2014; material icon named "pause" (outlined).
  static const IconData pause_outlined = IconData(0xf263, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pause_circle</i> &#x2014; material icon named "pause circle".
  static const IconData pause_circle = IconData(0xe47d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pause_circle</i> &#x2014; material icon named "pause circle" (sharp).
  static const IconData pause_circle_sharp = IconData(0xeb75, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pause_circle</i> &#x2014; material icon named "pause circle" (round).
  static const IconData pause_circle_rounded = IconData(0xf0054, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pause_circle</i> &#x2014; material icon named "pause circle" (outlined).
  static const IconData pause_circle_outlined = IconData(0xf262, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pause_circle_filled</i> &#x2014; material icon named "pause circle filled".
  static const IconData pause_circle_filled = IconData(0xe47e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pause_circle_filled</i> &#x2014; material icon named "pause circle filled" (sharp).
  static const IconData pause_circle_filled_sharp = IconData(0xeb73, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pause_circle_filled</i> &#x2014; material icon named "pause circle filled" (round).
  static const IconData pause_circle_filled_rounded = IconData(0xf0052, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pause_circle_filled</i> &#x2014; material icon named "pause circle filled" (outlined).
  static const IconData pause_circle_filled_outlined = IconData(0xf260, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pause_circle_outline</i> &#x2014; material icon named "pause circle outline".
  static const IconData pause_circle_outline = IconData(0xe47f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pause_circle_outline</i> &#x2014; material icon named "pause circle outline" (sharp).
  static const IconData pause_circle_outline_sharp = IconData(0xeb74, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pause_circle_outline</i> &#x2014; material icon named "pause circle outline" (round).
  static const IconData pause_circle_outline_rounded = IconData(0xf0053, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pause_circle_outline</i> &#x2014; material icon named "pause circle outline" (outlined).
  static const IconData pause_circle_outline_outlined = IconData(0xf261, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pause_presentation</i> &#x2014; material icon named "pause presentation".
  static const IconData pause_presentation = IconData(0xe480, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pause_presentation</i> &#x2014; material icon named "pause presentation" (sharp).
  static const IconData pause_presentation_sharp = IconData(0xeb76, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pause_presentation</i> &#x2014; material icon named "pause presentation" (round).
  static const IconData pause_presentation_rounded = IconData(0xf0055, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pause_presentation</i> &#x2014; material icon named "pause presentation" (outlined).
  static const IconData pause_presentation_outlined = IconData(0xf264, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">payment</i> &#x2014; material icon named "payment".
  static const IconData payment = IconData(0xe481, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">payment</i> &#x2014; material icon named "payment" (sharp).
  static const IconData payment_sharp = IconData(0xeb78, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">payment</i> &#x2014; material icon named "payment" (round).
  static const IconData payment_rounded = IconData(0xf0057, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">payment</i> &#x2014; material icon named "payment" (outlined).
  static const IconData payment_outlined = IconData(0xf265, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">payments</i> &#x2014; material icon named "payments".
  static const IconData payments = IconData(0xe482, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">payments</i> &#x2014; material icon named "payments" (sharp).
  static const IconData payments_sharp = IconData(0xeb79, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">payments</i> &#x2014; material icon named "payments" (round).
  static const IconData payments_rounded = IconData(0xf0058, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">payments</i> &#x2014; material icon named "payments" (outlined).
  static const IconData payments_outlined = IconData(0xf266, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">paypal</i> &#x2014; material icon named "paypal".
  static const IconData paypal = IconData(0xf0545, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">paypal</i> &#x2014; material icon named "paypal" (sharp).
  static const IconData paypal_sharp = IconData(0xf044f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">paypal</i> &#x2014; material icon named "paypal" (round).
  static const IconData paypal_rounded = IconData(0xf035c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">paypal</i> &#x2014; material icon named "paypal" (outlined).
  static const IconData paypal_outlined = IconData(0xf063d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pedal_bike</i> &#x2014; material icon named "pedal bike".
  static const IconData pedal_bike = IconData(0xe483, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pedal_bike</i> &#x2014; material icon named "pedal bike" (sharp).
  static const IconData pedal_bike_sharp = IconData(0xeb7a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pedal_bike</i> &#x2014; material icon named "pedal bike" (round).
  static const IconData pedal_bike_rounded = IconData(0xf0059, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pedal_bike</i> &#x2014; material icon named "pedal bike" (outlined).
  static const IconData pedal_bike_outlined = IconData(0xf267, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pending</i> &#x2014; material icon named "pending".
  static const IconData pending = IconData(0xe484, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pending</i> &#x2014; material icon named "pending" (sharp).
  static const IconData pending_sharp = IconData(0xeb7c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pending</i> &#x2014; material icon named "pending" (round).
  static const IconData pending_rounded = IconData(0xf005b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pending</i> &#x2014; material icon named "pending" (outlined).
  static const IconData pending_outlined = IconData(0xf269, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pending_actions</i> &#x2014; material icon named "pending actions".
  static const IconData pending_actions = IconData(0xe485, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pending_actions</i> &#x2014; material icon named "pending actions" (sharp).
  static const IconData pending_actions_sharp = IconData(0xeb7b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pending_actions</i> &#x2014; material icon named "pending actions" (round).
  static const IconData pending_actions_rounded = IconData(0xf005a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pending_actions</i> &#x2014; material icon named "pending actions" (outlined).
  static const IconData pending_actions_outlined = IconData(0xf268, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pentagon</i> &#x2014; material icon named "pentagon".
  static const IconData pentagon = IconData(0xf0546, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pentagon</i> &#x2014; material icon named "pentagon" (sharp).
  static const IconData pentagon_sharp = IconData(0xf0450, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pentagon</i> &#x2014; material icon named "pentagon" (round).
  static const IconData pentagon_rounded = IconData(0xf035d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pentagon</i> &#x2014; material icon named "pentagon" (outlined).
  static const IconData pentagon_outlined = IconData(0xf063e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">people</i> &#x2014; material icon named "people".
  static const IconData people = IconData(0xe486, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">people</i> &#x2014; material icon named "people" (sharp).
  static const IconData people_sharp = IconData(0xeb7f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">people</i> &#x2014; material icon named "people" (round).
  static const IconData people_rounded = IconData(0xf005e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">people</i> &#x2014; material icon named "people" (outlined).
  static const IconData people_outlined = IconData(0xf26c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">people_alt</i> &#x2014; material icon named "people alt".
  static const IconData people_alt = IconData(0xe487, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">people_alt</i> &#x2014; material icon named "people alt" (sharp).
  static const IconData people_alt_sharp = IconData(0xeb7d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">people_alt</i> &#x2014; material icon named "people alt" (round).
  static const IconData people_alt_rounded = IconData(0xf005c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">people_alt</i> &#x2014; material icon named "people alt" (outlined).
  static const IconData people_alt_outlined = IconData(0xf26a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">people_outline</i> &#x2014; material icon named "people outline".
  static const IconData people_outline = IconData(0xe488, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">people_outline</i> &#x2014; material icon named "people outline" (sharp).
  static const IconData people_outline_sharp = IconData(0xeb7e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">people_outline</i> &#x2014; material icon named "people outline" (round).
  static const IconData people_outline_rounded = IconData(0xf005d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">people_outline</i> &#x2014; material icon named "people outline" (outlined).
  static const IconData people_outline_outlined = IconData(0xf26b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">percent</i> &#x2014; material icon named "percent".
  static const IconData percent = IconData(0xf0547, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">percent</i> &#x2014; material icon named "percent" (sharp).
  static const IconData percent_sharp = IconData(0xf0451, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">percent</i> &#x2014; material icon named "percent" (round).
  static const IconData percent_rounded = IconData(0xf035e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">percent</i> &#x2014; material icon named "percent" (outlined).
  static const IconData percent_outlined = IconData(0xf063f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">perm_camera_mic</i> &#x2014; material icon named "perm camera mic".
  static const IconData perm_camera_mic = IconData(0xe489, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">perm_camera_mic</i> &#x2014; material icon named "perm camera mic" (sharp).
  static const IconData perm_camera_mic_sharp = IconData(0xeb80, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">perm_camera_mic</i> &#x2014; material icon named "perm camera mic" (round).
  static const IconData perm_camera_mic_rounded = IconData(0xf005f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">perm_camera_mic</i> &#x2014; material icon named "perm camera mic" (outlined).
  static const IconData perm_camera_mic_outlined = IconData(0xf26d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">perm_contact_cal</i> &#x2014; material icon named "perm contact cal".
  static const IconData perm_contact_cal = IconData(0xe48a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">perm_contact_cal</i> &#x2014; material icon named "perm contact cal" (sharp).
  static const IconData perm_contact_cal_sharp = IconData(0xeb81, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">perm_contact_cal</i> &#x2014; material icon named "perm contact cal" (round).
  static const IconData perm_contact_cal_rounded = IconData(0xf0060, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">perm_contact_cal</i> &#x2014; material icon named "perm contact cal" (outlined).
  static const IconData perm_contact_cal_outlined = IconData(0xf26e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">perm_contact_calendar</i> &#x2014; material icon named "perm contact calendar".
  static const IconData perm_contact_calendar = IconData(0xe48a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">perm_contact_calendar</i> &#x2014; material icon named "perm contact calendar" (sharp).
  static const IconData perm_contact_calendar_sharp = IconData(0xeb81, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">perm_contact_calendar</i> &#x2014; material icon named "perm contact calendar" (round).
  static const IconData perm_contact_calendar_rounded = IconData(0xf0060, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">perm_contact_calendar</i> &#x2014; material icon named "perm contact calendar" (outlined).
  static const IconData perm_contact_calendar_outlined = IconData(0xf26e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">perm_data_setting</i> &#x2014; material icon named "perm data setting".
  static const IconData perm_data_setting = IconData(0xe48b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">perm_data_setting</i> &#x2014; material icon named "perm data setting" (sharp).
  static const IconData perm_data_setting_sharp = IconData(0xeb82, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">perm_data_setting</i> &#x2014; material icon named "perm data setting" (round).
  static const IconData perm_data_setting_rounded = IconData(0xf0061, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">perm_data_setting</i> &#x2014; material icon named "perm data setting" (outlined).
  static const IconData perm_data_setting_outlined = IconData(0xf26f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">perm_device_info</i> &#x2014; material icon named "perm device info".
  static const IconData perm_device_info = IconData(0xe48c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">perm_device_info</i> &#x2014; material icon named "perm device info" (sharp).
  static const IconData perm_device_info_sharp = IconData(0xeb83, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">perm_device_info</i> &#x2014; material icon named "perm device info" (round).
  static const IconData perm_device_info_rounded = IconData(0xf0062, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">perm_device_info</i> &#x2014; material icon named "perm device info" (outlined).
  static const IconData perm_device_info_outlined = IconData(0xf270, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">perm_device_information</i> &#x2014; material icon named "perm device information".
  static const IconData perm_device_information = IconData(0xe48c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">perm_device_information</i> &#x2014; material icon named "perm device information" (sharp).
  static const IconData perm_device_information_sharp = IconData(0xeb83, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">perm_device_information</i> &#x2014; material icon named "perm device information" (round).
  static const IconData perm_device_information_rounded = IconData(0xf0062, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">perm_device_information</i> &#x2014; material icon named "perm device information" (outlined).
  static const IconData perm_device_information_outlined = IconData(0xf270, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">perm_identity</i> &#x2014; material icon named "perm identity".
  static const IconData perm_identity = IconData(0xe48d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">perm_identity</i> &#x2014; material icon named "perm identity" (sharp).
  static const IconData perm_identity_sharp = IconData(0xeb84, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">perm_identity</i> &#x2014; material icon named "perm identity" (round).
  static const IconData perm_identity_rounded = IconData(0xf0063, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">perm_identity</i> &#x2014; material icon named "perm identity" (outlined).
  static const IconData perm_identity_outlined = IconData(0xf271, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">perm_media</i> &#x2014; material icon named "perm media".
  static const IconData perm_media = IconData(0xe48e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">perm_media</i> &#x2014; material icon named "perm media" (sharp).
  static const IconData perm_media_sharp = IconData(0xeb85, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">perm_media</i> &#x2014; material icon named "perm media" (round).
  static const IconData perm_media_rounded = IconData(0xf0064, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">perm_media</i> &#x2014; material icon named "perm media" (outlined).
  static const IconData perm_media_outlined = IconData(0xf272, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">perm_phone_msg</i> &#x2014; material icon named "perm phone msg".
  static const IconData perm_phone_msg = IconData(0xe48f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">perm_phone_msg</i> &#x2014; material icon named "perm phone msg" (sharp).
  static const IconData perm_phone_msg_sharp = IconData(0xeb86, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">perm_phone_msg</i> &#x2014; material icon named "perm phone msg" (round).
  static const IconData perm_phone_msg_rounded = IconData(0xf0065, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">perm_phone_msg</i> &#x2014; material icon named "perm phone msg" (outlined).
  static const IconData perm_phone_msg_outlined = IconData(0xf273, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">perm_scan_wifi</i> &#x2014; material icon named "perm scan wifi".
  static const IconData perm_scan_wifi = IconData(0xe490, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">perm_scan_wifi</i> &#x2014; material icon named "perm scan wifi" (sharp).
  static const IconData perm_scan_wifi_sharp = IconData(0xeb87, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">perm_scan_wifi</i> &#x2014; material icon named "perm scan wifi" (round).
  static const IconData perm_scan_wifi_rounded = IconData(0xf0066, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">perm_scan_wifi</i> &#x2014; material icon named "perm scan wifi" (outlined).
  static const IconData perm_scan_wifi_outlined = IconData(0xf274, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person</i> &#x2014; material icon named "person".
  static const IconData person = IconData(0xe491, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person</i> &#x2014; material icon named "person" (sharp).
  static const IconData person_sharp = IconData(0xeb93, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person</i> &#x2014; material icon named "person" (round).
  static const IconData person_rounded = IconData(0xf0071, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person</i> &#x2014; material icon named "person" (outlined).
  static const IconData person_outlined = IconData(0xf27b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_2</i> &#x2014; material icon named "person 2".
  static const IconData person_2 = IconData(0xf0870, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_2</i> &#x2014; material icon named "person 2" (sharp).
  static const IconData person_2_sharp = IconData(0xf0847, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_2</i> &#x2014; material icon named "person 2" (round).
  static const IconData person_2_rounded = IconData(0xf0890, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_2</i> &#x2014; material icon named "person 2" (outlined).
  static const IconData person_2_outlined = IconData(0xf08ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_3</i> &#x2014; material icon named "person 3".
  static const IconData person_3 = IconData(0xf0871, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_3</i> &#x2014; material icon named "person 3" (sharp).
  static const IconData person_3_sharp = IconData(0xf0848, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_3</i> &#x2014; material icon named "person 3" (round).
  static const IconData person_3_rounded = IconData(0xf0891, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_3</i> &#x2014; material icon named "person 3" (outlined).
  static const IconData person_3_outlined = IconData(0xf08af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_4</i> &#x2014; material icon named "person 4".
  static const IconData person_4 = IconData(0xf0872, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_4</i> &#x2014; material icon named "person 4" (sharp).
  static const IconData person_4_sharp = IconData(0xf0849, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_4</i> &#x2014; material icon named "person 4" (round).
  static const IconData person_4_rounded = IconData(0xf0892, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_4</i> &#x2014; material icon named "person 4" (outlined).
  static const IconData person_4_outlined = IconData(0xf08b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_add</i> &#x2014; material icon named "person add".
  static const IconData person_add = IconData(0xe492, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_add</i> &#x2014; material icon named "person add" (sharp).
  static const IconData person_add_sharp = IconData(0xeb8b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_add</i> &#x2014; material icon named "person add" (round).
  static const IconData person_add_rounded = IconData(0xf006a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_add</i> &#x2014; material icon named "person add" (outlined).
  static const IconData person_add_outlined = IconData(0xf278, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_add_alt</i> &#x2014; material icon named "person add alt".
  static const IconData person_add_alt = IconData(0xe493, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_add_alt</i> &#x2014; material icon named "person add alt" (sharp).
  static const IconData person_add_alt_sharp = IconData(0xeb89, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_add_alt</i> &#x2014; material icon named "person add alt" (round).
  static const IconData person_add_alt_rounded = IconData(0xf0068, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_add_alt</i> &#x2014; material icon named "person add alt" (outlined).
  static const IconData person_add_alt_outlined = IconData(0xf276, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_add_alt_1</i> &#x2014; material icon named "person add alt 1".
  static const IconData person_add_alt_1 = IconData(0xe494, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_add_alt_1</i> &#x2014; material icon named "person add alt 1" (sharp).
  static const IconData person_add_alt_1_sharp = IconData(0xeb88, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_add_alt_1</i> &#x2014; material icon named "person add alt 1" (round).
  static const IconData person_add_alt_1_rounded = IconData(0xf0067, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_add_alt_1</i> &#x2014; material icon named "person add alt 1" (outlined).
  static const IconData person_add_alt_1_outlined = IconData(0xf275, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_add_disabled</i> &#x2014; material icon named "person add disabled".
  static const IconData person_add_disabled = IconData(0xe495, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_add_disabled</i> &#x2014; material icon named "person add disabled" (sharp).
  static const IconData person_add_disabled_sharp = IconData(0xeb8a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_add_disabled</i> &#x2014; material icon named "person add disabled" (round).
  static const IconData person_add_disabled_rounded = IconData(0xf0069, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_add_disabled</i> &#x2014; material icon named "person add disabled" (outlined).
  static const IconData person_add_disabled_outlined = IconData(0xf277, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_off</i> &#x2014; material icon named "person off".
  static const IconData person_off = IconData(0xe496, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_off</i> &#x2014; material icon named "person off" (sharp).
  static const IconData person_off_sharp = IconData(0xeb8c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_off</i> &#x2014; material icon named "person off" (round).
  static const IconData person_off_rounded = IconData(0xf006b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_off</i> &#x2014; material icon named "person off" (outlined).
  static const IconData person_off_outlined = IconData(0xf279, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_outline</i> &#x2014; material icon named "person outline".
  static const IconData person_outline = IconData(0xe497, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_outline</i> &#x2014; material icon named "person outline" (sharp).
  static const IconData person_outline_sharp = IconData(0xeb8d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_outline</i> &#x2014; material icon named "person outline" (round).
  static const IconData person_outline_rounded = IconData(0xf006c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_outline</i> &#x2014; material icon named "person outline" (outlined).
  static const IconData person_outline_outlined = IconData(0xf27a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_pin</i> &#x2014; material icon named "person pin".
  static const IconData person_pin = IconData(0xe498, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_pin</i> &#x2014; material icon named "person pin" (sharp).
  static const IconData person_pin_sharp = IconData(0xeb8f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_pin</i> &#x2014; material icon named "person pin" (round).
  static const IconData person_pin_rounded = IconData(0xf006e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_pin</i> &#x2014; material icon named "person pin" (outlined).
  static const IconData person_pin_outlined = IconData(0xf27d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_pin_circle</i> &#x2014; material icon named "person pin circle".
  static const IconData person_pin_circle = IconData(0xe499, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_pin_circle</i> &#x2014; material icon named "person pin circle" (sharp).
  static const IconData person_pin_circle_sharp = IconData(0xeb8e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_pin_circle</i> &#x2014; material icon named "person pin circle" (round).
  static const IconData person_pin_circle_rounded = IconData(0xf006d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_pin_circle</i> &#x2014; material icon named "person pin circle" (outlined).
  static const IconData person_pin_circle_outlined = IconData(0xf27c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_remove</i> &#x2014; material icon named "person remove".
  static const IconData person_remove = IconData(0xe49a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_remove</i> &#x2014; material icon named "person remove" (sharp).
  static const IconData person_remove_sharp = IconData(0xeb91, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_remove</i> &#x2014; material icon named "person remove" (round).
  static const IconData person_remove_rounded = IconData(0xf0070, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_remove</i> &#x2014; material icon named "person remove" (outlined).
  static const IconData person_remove_outlined = IconData(0xf27f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_remove_alt_1</i> &#x2014; material icon named "person remove alt 1".
  static const IconData person_remove_alt_1 = IconData(0xe49b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_remove_alt_1</i> &#x2014; material icon named "person remove alt 1" (sharp).
  static const IconData person_remove_alt_1_sharp = IconData(0xeb90, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_remove_alt_1</i> &#x2014; material icon named "person remove alt 1" (round).
  static const IconData person_remove_alt_1_rounded = IconData(0xf006f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_remove_alt_1</i> &#x2014; material icon named "person remove alt 1" (outlined).
  static const IconData person_remove_alt_1_outlined = IconData(0xf27e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_search</i> &#x2014; material icon named "person search".
  static const IconData person_search = IconData(0xe49c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_search</i> &#x2014; material icon named "person search" (sharp).
  static const IconData person_search_sharp = IconData(0xeb92, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_search</i> &#x2014; material icon named "person search" (round).
  static const IconData person_search_rounded = IconData(0xf0072, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_search</i> &#x2014; material icon named "person search" (outlined).
  static const IconData person_search_outlined = IconData(0xf280, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">personal_injury</i> &#x2014; material icon named "personal injury".
  static const IconData personal_injury = IconData(0xe49d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">personal_injury</i> &#x2014; material icon named "personal injury" (sharp).
  static const IconData personal_injury_sharp = IconData(0xeb94, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">personal_injury</i> &#x2014; material icon named "personal injury" (round).
  static const IconData personal_injury_rounded = IconData(0xf0073, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">personal_injury</i> &#x2014; material icon named "personal injury" (outlined).
  static const IconData personal_injury_outlined = IconData(0xf281, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">personal_video</i> &#x2014; material icon named "personal video".
  static const IconData personal_video = IconData(0xe49e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">personal_video</i> &#x2014; material icon named "personal video" (sharp).
  static const IconData personal_video_sharp = IconData(0xeb95, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">personal_video</i> &#x2014; material icon named "personal video" (round).
  static const IconData personal_video_rounded = IconData(0xf0074, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">personal_video</i> &#x2014; material icon named "personal video" (outlined).
  static const IconData personal_video_outlined = IconData(0xf282, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pest_control</i> &#x2014; material icon named "pest control".
  static const IconData pest_control = IconData(0xe49f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pest_control</i> &#x2014; material icon named "pest control" (sharp).
  static const IconData pest_control_sharp = IconData(0xeb97, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pest_control</i> &#x2014; material icon named "pest control" (round).
  static const IconData pest_control_rounded = IconData(0xf0076, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pest_control</i> &#x2014; material icon named "pest control" (outlined).
  static const IconData pest_control_outlined = IconData(0xf283, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pest_control_rodent</i> &#x2014; material icon named "pest control rodent".
  static const IconData pest_control_rodent = IconData(0xe4a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pest_control_rodent</i> &#x2014; material icon named "pest control rodent" (sharp).
  static const IconData pest_control_rodent_sharp = IconData(0xeb96, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pest_control_rodent</i> &#x2014; material icon named "pest control rodent" (round).
  static const IconData pest_control_rodent_rounded = IconData(0xf0075, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pest_control_rodent</i> &#x2014; material icon named "pest control rodent" (outlined).
  static const IconData pest_control_rodent_outlined = IconData(0xf284, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pets</i> &#x2014; material icon named "pets".
  static const IconData pets = IconData(0xe4a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pets</i> &#x2014; material icon named "pets" (sharp).
  static const IconData pets_sharp = IconData(0xeb98, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pets</i> &#x2014; material icon named "pets" (round).
  static const IconData pets_rounded = IconData(0xf0077, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pets</i> &#x2014; material icon named "pets" (outlined).
  static const IconData pets_outlined = IconData(0xf285, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phishing</i> &#x2014; material icon named "phishing".
  static const IconData phishing = IconData(0xf0548, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phishing</i> &#x2014; material icon named "phishing" (sharp).
  static const IconData phishing_sharp = IconData(0xf0452, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phishing</i> &#x2014; material icon named "phishing" (round).
  static const IconData phishing_rounded = IconData(0xf035f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phishing</i> &#x2014; material icon named "phishing" (outlined).
  static const IconData phishing_outlined = IconData(0xf0640, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone</i> &#x2014; material icon named "phone".
  static const IconData phone = IconData(0xe4a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone</i> &#x2014; material icon named "phone" (sharp).
  static const IconData phone_sharp = IconData(0xeba4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone</i> &#x2014; material icon named "phone" (round).
  static const IconData phone_rounded = IconData(0xf0083, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone</i> &#x2014; material icon named "phone" (outlined).
  static const IconData phone_outlined = IconData(0xf290, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_android</i> &#x2014; material icon named "phone android".
  static const IconData phone_android = IconData(0xe4a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_android</i> &#x2014; material icon named "phone android" (sharp).
  static const IconData phone_android_sharp = IconData(0xeb99, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_android</i> &#x2014; material icon named "phone android" (round).
  static const IconData phone_android_rounded = IconData(0xf0078, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_android</i> &#x2014; material icon named "phone android" (outlined).
  static const IconData phone_android_outlined = IconData(0xf286, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_bluetooth_speaker</i> &#x2014; material icon named "phone bluetooth speaker".
  static const IconData phone_bluetooth_speaker = IconData(0xe4a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_bluetooth_speaker</i> &#x2014; material icon named "phone bluetooth speaker" (sharp).
  static const IconData phone_bluetooth_speaker_sharp = IconData(0xeb9a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_bluetooth_speaker</i> &#x2014; material icon named "phone bluetooth speaker" (round).
  static const IconData phone_bluetooth_speaker_rounded = IconData(0xf0079, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_bluetooth_speaker</i> &#x2014; material icon named "phone bluetooth speaker" (outlined).
  static const IconData phone_bluetooth_speaker_outlined = IconData(0xf287, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_callback</i> &#x2014; material icon named "phone callback".
  static const IconData phone_callback = IconData(0xe4a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_callback</i> &#x2014; material icon named "phone callback" (sharp).
  static const IconData phone_callback_sharp = IconData(0xeb9b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_callback</i> &#x2014; material icon named "phone callback" (round).
  static const IconData phone_callback_rounded = IconData(0xf007a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_callback</i> &#x2014; material icon named "phone callback" (outlined).
  static const IconData phone_callback_outlined = IconData(0xf288, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_disabled</i> &#x2014; material icon named "phone disabled".
  static const IconData phone_disabled = IconData(0xe4a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_disabled</i> &#x2014; material icon named "phone disabled" (sharp).
  static const IconData phone_disabled_sharp = IconData(0xeb9c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_disabled</i> &#x2014; material icon named "phone disabled" (round).
  static const IconData phone_disabled_rounded = IconData(0xf007b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_disabled</i> &#x2014; material icon named "phone disabled" (outlined).
  static const IconData phone_disabled_outlined = IconData(0xf289, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_enabled</i> &#x2014; material icon named "phone enabled".
  static const IconData phone_enabled = IconData(0xe4a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_enabled</i> &#x2014; material icon named "phone enabled" (sharp).
  static const IconData phone_enabled_sharp = IconData(0xeb9d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_enabled</i> &#x2014; material icon named "phone enabled" (round).
  static const IconData phone_enabled_rounded = IconData(0xf007c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_enabled</i> &#x2014; material icon named "phone enabled" (outlined).
  static const IconData phone_enabled_outlined = IconData(0xf28a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_forwarded</i> &#x2014; material icon named "phone forwarded".
  static const IconData phone_forwarded = IconData(0xe4a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_forwarded</i> &#x2014; material icon named "phone forwarded" (sharp).
  static const IconData phone_forwarded_sharp = IconData(0xeb9e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_forwarded</i> &#x2014; material icon named "phone forwarded" (round).
  static const IconData phone_forwarded_rounded = IconData(0xf007d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_forwarded</i> &#x2014; material icon named "phone forwarded" (outlined).
  static const IconData phone_forwarded_outlined = IconData(0xf28b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_in_talk</i> &#x2014; material icon named "phone in talk".
  static const IconData phone_in_talk = IconData(0xe4a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_in_talk</i> &#x2014; material icon named "phone in talk" (sharp).
  static const IconData phone_in_talk_sharp = IconData(0xeb9f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_in_talk</i> &#x2014; material icon named "phone in talk" (round).
  static const IconData phone_in_talk_rounded = IconData(0xf007e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_in_talk</i> &#x2014; material icon named "phone in talk" (outlined).
  static const IconData phone_in_talk_outlined = IconData(0xf28c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_iphone</i> &#x2014; material icon named "phone iphone".
  static const IconData phone_iphone = IconData(0xe4aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_iphone</i> &#x2014; material icon named "phone iphone" (sharp).
  static const IconData phone_iphone_sharp = IconData(0xeba0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_iphone</i> &#x2014; material icon named "phone iphone" (round).
  static const IconData phone_iphone_rounded = IconData(0xf007f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_iphone</i> &#x2014; material icon named "phone iphone" (outlined).
  static const IconData phone_iphone_outlined = IconData(0xf28d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_locked</i> &#x2014; material icon named "phone locked".
  static const IconData phone_locked = IconData(0xe4ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_locked</i> &#x2014; material icon named "phone locked" (sharp).
  static const IconData phone_locked_sharp = IconData(0xeba1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_locked</i> &#x2014; material icon named "phone locked" (round).
  static const IconData phone_locked_rounded = IconData(0xf0080, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_locked</i> &#x2014; material icon named "phone locked" (outlined).
  static const IconData phone_locked_outlined = IconData(0xf28e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_missed</i> &#x2014; material icon named "phone missed".
  static const IconData phone_missed = IconData(0xe4ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_missed</i> &#x2014; material icon named "phone missed" (sharp).
  static const IconData phone_missed_sharp = IconData(0xeba2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_missed</i> &#x2014; material icon named "phone missed" (round).
  static const IconData phone_missed_rounded = IconData(0xf0081, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_missed</i> &#x2014; material icon named "phone missed" (outlined).
  static const IconData phone_missed_outlined = IconData(0xf28f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_paused</i> &#x2014; material icon named "phone paused".
  static const IconData phone_paused = IconData(0xe4ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_paused</i> &#x2014; material icon named "phone paused" (sharp).
  static const IconData phone_paused_sharp = IconData(0xeba3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_paused</i> &#x2014; material icon named "phone paused" (round).
  static const IconData phone_paused_rounded = IconData(0xf0082, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_paused</i> &#x2014; material icon named "phone paused" (outlined).
  static const IconData phone_paused_outlined = IconData(0xf291, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phonelink</i> &#x2014; material icon named "phonelink".
  static const IconData phonelink = IconData(0xe4ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phonelink</i> &#x2014; material icon named "phonelink" (sharp).
  static const IconData phonelink_sharp = IconData(0xebaa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phonelink</i> &#x2014; material icon named "phonelink" (round).
  static const IconData phonelink_rounded = IconData(0xf0088, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phonelink</i> &#x2014; material icon named "phonelink" (outlined).
  static const IconData phonelink_outlined = IconData(0xf295, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phonelink_erase</i> &#x2014; material icon named "phonelink erase".
  static const IconData phonelink_erase = IconData(0xe4af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phonelink_erase</i> &#x2014; material icon named "phonelink erase" (sharp).
  static const IconData phonelink_erase_sharp = IconData(0xeba5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phonelink_erase</i> &#x2014; material icon named "phonelink erase" (round).
  static const IconData phonelink_erase_rounded = IconData(0xf0084, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phonelink_erase</i> &#x2014; material icon named "phonelink erase" (outlined).
  static const IconData phonelink_erase_outlined = IconData(0xf292, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phonelink_lock</i> &#x2014; material icon named "phonelink lock".
  static const IconData phonelink_lock = IconData(0xe4b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phonelink_lock</i> &#x2014; material icon named "phonelink lock" (sharp).
  static const IconData phonelink_lock_sharp = IconData(0xeba6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phonelink_lock</i> &#x2014; material icon named "phonelink lock" (round).
  static const IconData phonelink_lock_rounded = IconData(0xf0085, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phonelink_lock</i> &#x2014; material icon named "phonelink lock" (outlined).
  static const IconData phonelink_lock_outlined = IconData(0xf293, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phonelink_off</i> &#x2014; material icon named "phonelink off".
  static const IconData phonelink_off = IconData(0xe4b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phonelink_off</i> &#x2014; material icon named "phonelink off" (sharp).
  static const IconData phonelink_off_sharp = IconData(0xeba7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phonelink_off</i> &#x2014; material icon named "phonelink off" (round).
  static const IconData phonelink_off_rounded = IconData(0xf0086, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phonelink_off</i> &#x2014; material icon named "phonelink off" (outlined).
  static const IconData phonelink_off_outlined = IconData(0xf294, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phonelink_ring</i> &#x2014; material icon named "phonelink ring".
  static const IconData phonelink_ring = IconData(0xe4b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phonelink_ring</i> &#x2014; material icon named "phonelink ring" (sharp).
  static const IconData phonelink_ring_sharp = IconData(0xeba8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phonelink_ring</i> &#x2014; material icon named "phonelink ring" (round).
  static const IconData phonelink_ring_rounded = IconData(0xf0087, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phonelink_ring</i> &#x2014; material icon named "phonelink ring" (outlined).
  static const IconData phonelink_ring_outlined = IconData(0xf296, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phonelink_setup</i> &#x2014; material icon named "phonelink setup".
  static const IconData phonelink_setup = IconData(0xe4b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phonelink_setup</i> &#x2014; material icon named "phonelink setup" (sharp).
  static const IconData phonelink_setup_sharp = IconData(0xeba9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phonelink_setup</i> &#x2014; material icon named "phonelink setup" (round).
  static const IconData phonelink_setup_rounded = IconData(0xf0089, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phonelink_setup</i> &#x2014; material icon named "phonelink setup" (outlined).
  static const IconData phonelink_setup_outlined = IconData(0xf297, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">photo</i> &#x2014; material icon named "photo".
  static const IconData photo = IconData(0xe4b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">photo</i> &#x2014; material icon named "photo" (sharp).
  static const IconData photo_sharp = IconData(0xebb1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">photo</i> &#x2014; material icon named "photo" (round).
  static const IconData photo_rounded = IconData(0xf0090, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">photo</i> &#x2014; material icon named "photo" (outlined).
  static const IconData photo_outlined = IconData(0xf29e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">photo_album</i> &#x2014; material icon named "photo album".
  static const IconData photo_album = IconData(0xe4b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">photo_album</i> &#x2014; material icon named "photo album" (sharp).
  static const IconData photo_album_sharp = IconData(0xebab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">photo_album</i> &#x2014; material icon named "photo album" (round).
  static const IconData photo_album_rounded = IconData(0xf008a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">photo_album</i> &#x2014; material icon named "photo album" (outlined).
  static const IconData photo_album_outlined = IconData(0xf298, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">photo_camera</i> &#x2014; material icon named "photo camera".
  static const IconData photo_camera = IconData(0xe4b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">photo_camera</i> &#x2014; material icon named "photo camera" (sharp).
  static const IconData photo_camera_sharp = IconData(0xebae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">photo_camera</i> &#x2014; material icon named "photo camera" (round).
  static const IconData photo_camera_rounded = IconData(0xf008d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">photo_camera</i> &#x2014; material icon named "photo camera" (outlined).
  static const IconData photo_camera_outlined = IconData(0xf29b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">photo_camera_back</i> &#x2014; material icon named "photo camera back".
  static const IconData photo_camera_back = IconData(0xe4b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">photo_camera_back</i> &#x2014; material icon named "photo camera back" (sharp).
  static const IconData photo_camera_back_sharp = IconData(0xebac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">photo_camera_back</i> &#x2014; material icon named "photo camera back" (round).
  static const IconData photo_camera_back_rounded = IconData(0xf008b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">photo_camera_back</i> &#x2014; material icon named "photo camera back" (outlined).
  static const IconData photo_camera_back_outlined = IconData(0xf299, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">photo_camera_front</i> &#x2014; material icon named "photo camera front".
  static const IconData photo_camera_front = IconData(0xe4b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">photo_camera_front</i> &#x2014; material icon named "photo camera front" (sharp).
  static const IconData photo_camera_front_sharp = IconData(0xebad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">photo_camera_front</i> &#x2014; material icon named "photo camera front" (round).
  static const IconData photo_camera_front_rounded = IconData(0xf008c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">photo_camera_front</i> &#x2014; material icon named "photo camera front" (outlined).
  static const IconData photo_camera_front_outlined = IconData(0xf29a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">photo_filter</i> &#x2014; material icon named "photo filter".
  static const IconData photo_filter = IconData(0xe4b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">photo_filter</i> &#x2014; material icon named "photo filter" (sharp).
  static const IconData photo_filter_sharp = IconData(0xebaf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">photo_filter</i> &#x2014; material icon named "photo filter" (round).
  static const IconData photo_filter_rounded = IconData(0xf008e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">photo_filter</i> &#x2014; material icon named "photo filter" (outlined).
  static const IconData photo_filter_outlined = IconData(0xf29c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">photo_library</i> &#x2014; material icon named "photo library".
  static const IconData photo_library = IconData(0xe4ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">photo_library</i> &#x2014; material icon named "photo library" (sharp).
  static const IconData photo_library_sharp = IconData(0xebb0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">photo_library</i> &#x2014; material icon named "photo library" (round).
  static const IconData photo_library_rounded = IconData(0xf008f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">photo_library</i> &#x2014; material icon named "photo library" (outlined).
  static const IconData photo_library_outlined = IconData(0xf29d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">photo_size_select_actual</i> &#x2014; material icon named "photo size select actual".
  static const IconData photo_size_select_actual = IconData(0xe4bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">photo_size_select_actual</i> &#x2014; material icon named "photo size select actual" (sharp).
  static const IconData photo_size_select_actual_sharp = IconData(0xebb2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">photo_size_select_actual</i> &#x2014; material icon named "photo size select actual" (round).
  static const IconData photo_size_select_actual_rounded = IconData(0xf0091, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">photo_size_select_actual</i> &#x2014; material icon named "photo size select actual" (outlined).
  static const IconData photo_size_select_actual_outlined = IconData(0xf29f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">photo_size_select_large</i> &#x2014; material icon named "photo size select large".
  static const IconData photo_size_select_large = IconData(0xe4bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">photo_size_select_large</i> &#x2014; material icon named "photo size select large" (sharp).
  static const IconData photo_size_select_large_sharp = IconData(0xebb3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">photo_size_select_large</i> &#x2014; material icon named "photo size select large" (round).
  static const IconData photo_size_select_large_rounded = IconData(0xf0092, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">photo_size_select_large</i> &#x2014; material icon named "photo size select large" (outlined).
  static const IconData photo_size_select_large_outlined = IconData(0xf2a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">photo_size_select_small</i> &#x2014; material icon named "photo size select small".
  static const IconData photo_size_select_small = IconData(0xe4bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">photo_size_select_small</i> &#x2014; material icon named "photo size select small" (sharp).
  static const IconData photo_size_select_small_sharp = IconData(0xebb4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">photo_size_select_small</i> &#x2014; material icon named "photo size select small" (round).
  static const IconData photo_size_select_small_rounded = IconData(0xf0093, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">photo_size_select_small</i> &#x2014; material icon named "photo size select small" (outlined).
  static const IconData photo_size_select_small_outlined = IconData(0xf2a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">php</i> &#x2014; material icon named "php".
  static const IconData php = IconData(0xf0549, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">php</i> &#x2014; material icon named "php" (sharp).
  static const IconData php_sharp = IconData(0xf0453, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">php</i> &#x2014; material icon named "php" (round).
  static const IconData php_rounded = IconData(0xf0360, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">php</i> &#x2014; material icon named "php" (outlined).
  static const IconData php_outlined = IconData(0xf0641, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">piano</i> &#x2014; material icon named "piano".
  static const IconData piano = IconData(0xe4be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">piano</i> &#x2014; material icon named "piano" (sharp).
  static const IconData piano_sharp = IconData(0xebb6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">piano</i> &#x2014; material icon named "piano" (round).
  static const IconData piano_rounded = IconData(0xf0095, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">piano</i> &#x2014; material icon named "piano" (outlined).
  static const IconData piano_outlined = IconData(0xf2a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">piano_off</i> &#x2014; material icon named "piano off".
  static const IconData piano_off = IconData(0xe4bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">piano_off</i> &#x2014; material icon named "piano off" (sharp).
  static const IconData piano_off_sharp = IconData(0xebb5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">piano_off</i> &#x2014; material icon named "piano off" (round).
  static const IconData piano_off_rounded = IconData(0xf0094, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">piano_off</i> &#x2014; material icon named "piano off" (outlined).
  static const IconData piano_off_outlined = IconData(0xf2a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">picture_as_pdf</i> &#x2014; material icon named "picture as pdf".
  static const IconData picture_as_pdf = IconData(0xe4c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">picture_as_pdf</i> &#x2014; material icon named "picture as pdf" (sharp).
  static const IconData picture_as_pdf_sharp = IconData(0xebb7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">picture_as_pdf</i> &#x2014; material icon named "picture as pdf" (round).
  static const IconData picture_as_pdf_rounded = IconData(0xf0096, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">picture_as_pdf</i> &#x2014; material icon named "picture as pdf" (outlined).
  static const IconData picture_as_pdf_outlined = IconData(0xf2a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">picture_in_picture</i> &#x2014; material icon named "picture in picture".
  static const IconData picture_in_picture = IconData(0xe4c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">picture_in_picture</i> &#x2014; material icon named "picture in picture" (sharp).
  static const IconData picture_in_picture_sharp = IconData(0xebb9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">picture_in_picture</i> &#x2014; material icon named "picture in picture" (round).
  static const IconData picture_in_picture_rounded = IconData(0xf0098, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">picture_in_picture</i> &#x2014; material icon named "picture in picture" (outlined).
  static const IconData picture_in_picture_outlined = IconData(0xf2a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">picture_in_picture_alt</i> &#x2014; material icon named "picture in picture alt".
  static const IconData picture_in_picture_alt = IconData(0xe4c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">picture_in_picture_alt</i> &#x2014; material icon named "picture in picture alt" (sharp).
  static const IconData picture_in_picture_alt_sharp = IconData(0xebb8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">picture_in_picture_alt</i> &#x2014; material icon named "picture in picture alt" (round).
  static const IconData picture_in_picture_alt_rounded = IconData(0xf0097, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">picture_in_picture_alt</i> &#x2014; material icon named "picture in picture alt" (outlined).
  static const IconData picture_in_picture_alt_outlined = IconData(0xf2a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pie_chart</i> &#x2014; material icon named "pie chart".
  static const IconData pie_chart = IconData(0xe4c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pie_chart</i> &#x2014; material icon named "pie chart" (sharp).
  static const IconData pie_chart_sharp = IconData(0xebbb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pie_chart</i> &#x2014; material icon named "pie chart" (round).
  static const IconData pie_chart_rounded = IconData(0xf009a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pie_chart_outline</i> &#x2014; material icon named "pie chart outline".
  static const IconData pie_chart_outline = IconData(0xe4c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pie_chart_outline</i> &#x2014; material icon named "pie chart outline" (sharp).
  static const IconData pie_chart_outline_sharp = IconData(0xebba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pie_chart_outline</i> &#x2014; material icon named "pie chart outline" (round).
  static const IconData pie_chart_outline_rounded = IconData(0xf0099, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pie_chart_outline</i> &#x2014; material icon named "pie chart outline" (outlined).
  static const IconData pie_chart_outline_outlined = IconData(0xf2a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pin</i> &#x2014; material icon named "pin".
  static const IconData pin = IconData(0xe4c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pin</i> &#x2014; material icon named "pin" (sharp).
  static const IconData pin_sharp = IconData(0xebbd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pin</i> &#x2014; material icon named "pin" (round).
  static const IconData pin_rounded = IconData(0xf009c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pin</i> &#x2014; material icon named "pin" (outlined).
  static const IconData pin_outlined = IconData(0xf2aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pin_drop</i> &#x2014; material icon named "pin drop".
  static const IconData pin_drop = IconData(0xe4c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pin_drop</i> &#x2014; material icon named "pin drop" (sharp).
  static const IconData pin_drop_sharp = IconData(0xebbc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pin_drop</i> &#x2014; material icon named "pin drop" (round).
  static const IconData pin_drop_rounded = IconData(0xf009b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pin_drop</i> &#x2014; material icon named "pin drop" (outlined).
  static const IconData pin_drop_outlined = IconData(0xf2a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pin_end</i> &#x2014; material icon named "pin end".
  static const IconData pin_end = IconData(0xf054b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pin_end</i> &#x2014; material icon named "pin end" (sharp).
  static const IconData pin_end_sharp = IconData(0xf0454, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pin_end</i> &#x2014; material icon named "pin end" (round).
  static const IconData pin_end_rounded = IconData(0xf0361, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pin_end</i> &#x2014; material icon named "pin end" (outlined).
  static const IconData pin_end_outlined = IconData(0xf0642, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pin_invoke</i> &#x2014; material icon named "pin invoke".
  static const IconData pin_invoke = IconData(0xf054c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pin_invoke</i> &#x2014; material icon named "pin invoke" (sharp).
  static const IconData pin_invoke_sharp = IconData(0xf0455, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pin_invoke</i> &#x2014; material icon named "pin invoke" (round).
  static const IconData pin_invoke_rounded = IconData(0xf0362, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pin_invoke</i> &#x2014; material icon named "pin invoke" (outlined).
  static const IconData pin_invoke_outlined = IconData(0xf0643, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pinch</i> &#x2014; material icon named "pinch".
  static const IconData pinch = IconData(0xf054d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pinch</i> &#x2014; material icon named "pinch" (sharp).
  static const IconData pinch_sharp = IconData(0xf0456, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pinch</i> &#x2014; material icon named "pinch" (round).
  static const IconData pinch_rounded = IconData(0xf0363, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pinch</i> &#x2014; material icon named "pinch" (outlined).
  static const IconData pinch_outlined = IconData(0xf0644, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pivot_table_chart</i> &#x2014; material icon named "pivot table chart".
  static const IconData pivot_table_chart = IconData(0xe4c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pivot_table_chart</i> &#x2014; material icon named "pivot table chart" (sharp).
  static const IconData pivot_table_chart_sharp = IconData(0xebbe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pivot_table_chart</i> &#x2014; material icon named "pivot table chart" (round).
  static const IconData pivot_table_chart_rounded = IconData(0xf009d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pivot_table_chart</i> &#x2014; material icon named "pivot table chart" (outlined).
  static const IconData pivot_table_chart_outlined = IconData(0xf2ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pix</i> &#x2014; material icon named "pix".
  static const IconData pix = IconData(0xf054e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pix</i> &#x2014; material icon named "pix" (sharp).
  static const IconData pix_sharp = IconData(0xf0457, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pix</i> &#x2014; material icon named "pix" (round).
  static const IconData pix_rounded = IconData(0xf0364, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pix</i> &#x2014; material icon named "pix" (outlined).
  static const IconData pix_outlined = IconData(0xf0645, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">place</i> &#x2014; material icon named "place".
  static const IconData place = IconData(0xe4c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">place</i> &#x2014; material icon named "place" (sharp).
  static const IconData place_sharp = IconData(0xebbf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">place</i> &#x2014; material icon named "place" (round).
  static const IconData place_rounded = IconData(0xf009e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">place</i> &#x2014; material icon named "place" (outlined).
  static const IconData place_outlined = IconData(0xf2ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">plagiarism</i> &#x2014; material icon named "plagiarism".
  static const IconData plagiarism = IconData(0xe4ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">plagiarism</i> &#x2014; material icon named "plagiarism" (sharp).
  static const IconData plagiarism_sharp = IconData(0xebc0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">plagiarism</i> &#x2014; material icon named "plagiarism" (round).
  static const IconData plagiarism_rounded = IconData(0xf009f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">plagiarism</i> &#x2014; material icon named "plagiarism" (outlined).
  static const IconData plagiarism_outlined = IconData(0xf2ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">play_arrow</i> &#x2014; material icon named "play arrow".
  static const IconData play_arrow = IconData(0xe4cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">play_arrow</i> &#x2014; material icon named "play arrow" (sharp).
  static const IconData play_arrow_sharp = IconData(0xebc1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">play_arrow</i> &#x2014; material icon named "play arrow" (round).
  static const IconData play_arrow_rounded = IconData(0xf00a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">play_arrow</i> &#x2014; material icon named "play arrow" (outlined).
  static const IconData play_arrow_outlined = IconData(0xf2ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">play_circle</i> &#x2014; material icon named "play circle".
  static const IconData play_circle = IconData(0xe4cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">play_circle</i> &#x2014; material icon named "play circle" (sharp).
  static const IconData play_circle_sharp = IconData(0xebc4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">play_circle</i> &#x2014; material icon named "play circle" (round).
  static const IconData play_circle_rounded = IconData(0xf00a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">play_circle</i> &#x2014; material icon named "play circle" (outlined).
  static const IconData play_circle_outlined = IconData(0xf2b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">play_circle_fill</i> &#x2014; material icon named "play circle fill".
  static const IconData play_circle_fill = IconData(0xe4cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">play_circle_fill</i> &#x2014; material icon named "play circle fill" (sharp).
  static const IconData play_circle_fill_sharp = IconData(0xebc2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">play_circle_fill</i> &#x2014; material icon named "play circle fill" (round).
  static const IconData play_circle_fill_rounded = IconData(0xf00a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">play_circle_fill</i> &#x2014; material icon named "play circle fill" (outlined).
  static const IconData play_circle_fill_outlined = IconData(0xf2af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">play_circle_filled</i> &#x2014; material icon named "play circle filled".
  static const IconData play_circle_filled = IconData(0xe4cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">play_circle_filled</i> &#x2014; material icon named "play circle filled" (sharp).
  static const IconData play_circle_filled_sharp = IconData(0xebc2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">play_circle_filled</i> &#x2014; material icon named "play circle filled" (round).
  static const IconData play_circle_filled_rounded = IconData(0xf00a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">play_circle_filled</i> &#x2014; material icon named "play circle filled" (outlined).
  static const IconData play_circle_filled_outlined = IconData(0xf2af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">play_circle_outline</i> &#x2014; material icon named "play circle outline".
  static const IconData play_circle_outline = IconData(0xe4ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">play_circle_outline</i> &#x2014; material icon named "play circle outline" (sharp).
  static const IconData play_circle_outline_sharp = IconData(0xebc3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">play_circle_outline</i> &#x2014; material icon named "play circle outline" (round).
  static const IconData play_circle_outline_rounded = IconData(0xf00a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">play_circle_outline</i> &#x2014; material icon named "play circle outline" (outlined).
  static const IconData play_circle_outline_outlined = IconData(0xf2b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">play_disabled</i> &#x2014; material icon named "play disabled".
  static const IconData play_disabled = IconData(0xe4cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">play_disabled</i> &#x2014; material icon named "play disabled" (sharp).
  static const IconData play_disabled_sharp = IconData(0xebc5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">play_disabled</i> &#x2014; material icon named "play disabled" (round).
  static const IconData play_disabled_rounded = IconData(0xf00a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">play_disabled</i> &#x2014; material icon named "play disabled" (outlined).
  static const IconData play_disabled_outlined = IconData(0xf2b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">play_for_work</i> &#x2014; material icon named "play for work".
  static const IconData play_for_work = IconData(0xe4d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">play_for_work</i> &#x2014; material icon named "play for work" (sharp).
  static const IconData play_for_work_sharp = IconData(0xebc6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">play_for_work</i> &#x2014; material icon named "play for work" (round).
  static const IconData play_for_work_rounded = IconData(0xf00a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">play_for_work</i> &#x2014; material icon named "play for work" (outlined).
  static const IconData play_for_work_outlined = IconData(0xf2b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">play_lesson</i> &#x2014; material icon named "play lesson".
  static const IconData play_lesson = IconData(0xe4d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">play_lesson</i> &#x2014; material icon named "play lesson" (sharp).
  static const IconData play_lesson_sharp = IconData(0xebc7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">play_lesson</i> &#x2014; material icon named "play lesson" (round).
  static const IconData play_lesson_rounded = IconData(0xf00a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">play_lesson</i> &#x2014; material icon named "play lesson" (outlined).
  static const IconData play_lesson_outlined = IconData(0xf2b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">playlist_add</i> &#x2014; material icon named "playlist add".
  static const IconData playlist_add = IconData(0xe4d2, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">playlist_add</i> &#x2014; material icon named "playlist add" (sharp).
  static const IconData playlist_add_sharp = IconData(0xebc9, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">playlist_add</i> &#x2014; material icon named "playlist add" (round).
  static const IconData playlist_add_rounded = IconData(0xf00a8, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">playlist_add</i> &#x2014; material icon named "playlist add" (outlined).
  static const IconData playlist_add_outlined = IconData(0xf2b6, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">playlist_add_check</i> &#x2014; material icon named "playlist add check".
  static const IconData playlist_add_check = IconData(0xe4d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">playlist_add_check</i> &#x2014; material icon named "playlist add check" (sharp).
  static const IconData playlist_add_check_sharp = IconData(0xebc8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">playlist_add_check</i> &#x2014; material icon named "playlist add check" (round).
  static const IconData playlist_add_check_rounded = IconData(0xf00a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">playlist_add_check</i> &#x2014; material icon named "playlist add check" (outlined).
  static const IconData playlist_add_check_outlined = IconData(0xf2b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">playlist_add_check_circle</i> &#x2014; material icon named "playlist add check circle".
  static const IconData playlist_add_check_circle = IconData(0xf054f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">playlist_add_check_circle</i> &#x2014; material icon named "playlist add check circle" (sharp).
  static const IconData playlist_add_check_circle_sharp = IconData(0xf0458, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">playlist_add_check_circle</i> &#x2014; material icon named "playlist add check circle" (round).
  static const IconData playlist_add_check_circle_rounded = IconData(0xf0365, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">playlist_add_check_circle</i> &#x2014; material icon named "playlist add check circle" (outlined).
  static const IconData playlist_add_check_circle_outlined = IconData(0xf0646, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">playlist_add_circle</i> &#x2014; material icon named "playlist add circle".
  static const IconData playlist_add_circle = IconData(0xf0550, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">playlist_add_circle</i> &#x2014; material icon named "playlist add circle" (sharp).
  static const IconData playlist_add_circle_sharp = IconData(0xf0459, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">playlist_add_circle</i> &#x2014; material icon named "playlist add circle" (round).
  static const IconData playlist_add_circle_rounded = IconData(0xf0366, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">playlist_add_circle</i> &#x2014; material icon named "playlist add circle" (outlined).
  static const IconData playlist_add_circle_outlined = IconData(0xf0647, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">playlist_play</i> &#x2014; material icon named "playlist play".
  static const IconData playlist_play = IconData(0xe4d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">playlist_play</i> &#x2014; material icon named "playlist play" (sharp).
  static const IconData playlist_play_sharp = IconData(0xebca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">playlist_play</i> &#x2014; material icon named "playlist play" (round).
  static const IconData playlist_play_rounded = IconData(0xf00a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">playlist_play</i> &#x2014; material icon named "playlist play" (outlined).
  static const IconData playlist_play_outlined = IconData(0xf2b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">playlist_remove</i> &#x2014; material icon named "playlist remove".
  static const IconData playlist_remove = IconData(0xf0551, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">playlist_remove</i> &#x2014; material icon named "playlist remove" (sharp).
  static const IconData playlist_remove_sharp = IconData(0xf045a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">playlist_remove</i> &#x2014; material icon named "playlist remove" (round).
  static const IconData playlist_remove_rounded = IconData(0xf0367, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">playlist_remove</i> &#x2014; material icon named "playlist remove" (outlined).
  static const IconData playlist_remove_outlined = IconData(0xf0648, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">plumbing</i> &#x2014; material icon named "plumbing".
  static const IconData plumbing = IconData(0xe4d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">plumbing</i> &#x2014; material icon named "plumbing" (sharp).
  static const IconData plumbing_sharp = IconData(0xebcb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">plumbing</i> &#x2014; material icon named "plumbing" (round).
  static const IconData plumbing_rounded = IconData(0xf00aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">plumbing</i> &#x2014; material icon named "plumbing" (outlined).
  static const IconData plumbing_outlined = IconData(0xf2b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">plus_one</i> &#x2014; material icon named "plus one".
  static const IconData plus_one = IconData(0xe4d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">plus_one</i> &#x2014; material icon named "plus one" (sharp).
  static const IconData plus_one_sharp = IconData(0xebcc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">plus_one</i> &#x2014; material icon named "plus one" (round).
  static const IconData plus_one_rounded = IconData(0xf00ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">plus_one</i> &#x2014; material icon named "plus one" (outlined).
  static const IconData plus_one_outlined = IconData(0xf2b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">podcasts</i> &#x2014; material icon named "podcasts".
  static const IconData podcasts = IconData(0xe4d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">podcasts</i> &#x2014; material icon named "podcasts" (sharp).
  static const IconData podcasts_sharp = IconData(0xebcd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">podcasts</i> &#x2014; material icon named "podcasts" (round).
  static const IconData podcasts_rounded = IconData(0xf00ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">podcasts</i> &#x2014; material icon named "podcasts" (outlined).
  static const IconData podcasts_outlined = IconData(0xf2ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">point_of_sale</i> &#x2014; material icon named "point of sale".
  static const IconData point_of_sale = IconData(0xe4d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">point_of_sale</i> &#x2014; material icon named "point of sale" (sharp).
  static const IconData point_of_sale_sharp = IconData(0xebce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">point_of_sale</i> &#x2014; material icon named "point of sale" (round).
  static const IconData point_of_sale_rounded = IconData(0xf00ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">point_of_sale</i> &#x2014; material icon named "point of sale" (outlined).
  static const IconData point_of_sale_outlined = IconData(0xf2bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">policy</i> &#x2014; material icon named "policy".
  static const IconData policy = IconData(0xe4d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">policy</i> &#x2014; material icon named "policy" (sharp).
  static const IconData policy_sharp = IconData(0xebcf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">policy</i> &#x2014; material icon named "policy" (round).
  static const IconData policy_rounded = IconData(0xf00ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">policy</i> &#x2014; material icon named "policy" (outlined).
  static const IconData policy_outlined = IconData(0xf2bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">poll</i> &#x2014; material icon named "poll".
  static const IconData poll = IconData(0xe4da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">poll</i> &#x2014; material icon named "poll" (sharp).
  static const IconData poll_sharp = IconData(0xebd0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">poll</i> &#x2014; material icon named "poll" (round).
  static const IconData poll_rounded = IconData(0xf00af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">poll</i> &#x2014; material icon named "poll" (outlined).
  static const IconData poll_outlined = IconData(0xf2bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">polyline</i> &#x2014; material icon named "polyline".
  static const IconData polyline = IconData(0xf0552, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">polyline</i> &#x2014; material icon named "polyline" (sharp).
  static const IconData polyline_sharp = IconData(0xf045b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">polyline</i> &#x2014; material icon named "polyline" (round).
  static const IconData polyline_rounded = IconData(0xf0368, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">polyline</i> &#x2014; material icon named "polyline" (outlined).
  static const IconData polyline_outlined = IconData(0xf0649, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">polymer</i> &#x2014; material icon named "polymer".
  static const IconData polymer = IconData(0xe4db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">polymer</i> &#x2014; material icon named "polymer" (sharp).
  static const IconData polymer_sharp = IconData(0xebd1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">polymer</i> &#x2014; material icon named "polymer" (round).
  static const IconData polymer_rounded = IconData(0xf00b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">polymer</i> &#x2014; material icon named "polymer" (outlined).
  static const IconData polymer_outlined = IconData(0xf2be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pool</i> &#x2014; material icon named "pool".
  static const IconData pool = IconData(0xe4dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pool</i> &#x2014; material icon named "pool" (sharp).
  static const IconData pool_sharp = IconData(0xebd2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pool</i> &#x2014; material icon named "pool" (round).
  static const IconData pool_rounded = IconData(0xf00b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pool</i> &#x2014; material icon named "pool" (outlined).
  static const IconData pool_outlined = IconData(0xf2bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">portable_wifi_off</i> &#x2014; material icon named "portable wifi off".
  static const IconData portable_wifi_off = IconData(0xe4dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">portable_wifi_off</i> &#x2014; material icon named "portable wifi off" (sharp).
  static const IconData portable_wifi_off_sharp = IconData(0xebd3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">portable_wifi_off</i> &#x2014; material icon named "portable wifi off" (round).
  static const IconData portable_wifi_off_rounded = IconData(0xf00b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">portable_wifi_off</i> &#x2014; material icon named "portable wifi off" (outlined).
  static const IconData portable_wifi_off_outlined = IconData(0xf2c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">portrait</i> &#x2014; material icon named "portrait".
  static const IconData portrait = IconData(0xe4de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">portrait</i> &#x2014; material icon named "portrait" (sharp).
  static const IconData portrait_sharp = IconData(0xebd4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">portrait</i> &#x2014; material icon named "portrait" (round).
  static const IconData portrait_rounded = IconData(0xf00b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">portrait</i> &#x2014; material icon named "portrait" (outlined).
  static const IconData portrait_outlined = IconData(0xf2c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">post_add</i> &#x2014; material icon named "post add".
  static const IconData post_add = IconData(0xe4df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">post_add</i> &#x2014; material icon named "post add" (sharp).
  static const IconData post_add_sharp = IconData(0xebd5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">post_add</i> &#x2014; material icon named "post add" (round).
  static const IconData post_add_rounded = IconData(0xf00b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">post_add</i> &#x2014; material icon named "post add" (outlined).
  static const IconData post_add_outlined = IconData(0xf2c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">power</i> &#x2014; material icon named "power".
  static const IconData power = IconData(0xe4e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">power</i> &#x2014; material icon named "power" (sharp).
  static const IconData power_sharp = IconData(0xebd9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">power</i> &#x2014; material icon named "power" (round).
  static const IconData power_rounded = IconData(0xf00b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">power</i> &#x2014; material icon named "power" (outlined).
  static const IconData power_outlined = IconData(0xf2c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">power_input</i> &#x2014; material icon named "power input".
  static const IconData power_input = IconData(0xe4e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">power_input</i> &#x2014; material icon named "power input" (sharp).
  static const IconData power_input_sharp = IconData(0xebd6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">power_input</i> &#x2014; material icon named "power input" (round).
  static const IconData power_input_rounded = IconData(0xf00b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">power_input</i> &#x2014; material icon named "power input" (outlined).
  static const IconData power_input_outlined = IconData(0xf2c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">power_off</i> &#x2014; material icon named "power off".
  static const IconData power_off = IconData(0xe4e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">power_off</i> &#x2014; material icon named "power off" (sharp).
  static const IconData power_off_sharp = IconData(0xebd7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">power_off</i> &#x2014; material icon named "power off" (round).
  static const IconData power_off_rounded = IconData(0xf00b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">power_off</i> &#x2014; material icon named "power off" (outlined).
  static const IconData power_off_outlined = IconData(0xf2c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">power_settings_new</i> &#x2014; material icon named "power settings new".
  static const IconData power_settings_new = IconData(0xe4e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">power_settings_new</i> &#x2014; material icon named "power settings new" (sharp).
  static const IconData power_settings_new_sharp = IconData(0xebd8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">power_settings_new</i> &#x2014; material icon named "power settings new" (round).
  static const IconData power_settings_new_rounded = IconData(0xf00b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">power_settings_new</i> &#x2014; material icon named "power settings new" (outlined).
  static const IconData power_settings_new_outlined = IconData(0xf2c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">precision_manufacturing</i> &#x2014; material icon named "precision manufacturing".
  static const IconData precision_manufacturing = IconData(0xe4e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">precision_manufacturing</i> &#x2014; material icon named "precision manufacturing" (sharp).
  static const IconData precision_manufacturing_sharp = IconData(0xebda, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">precision_manufacturing</i> &#x2014; material icon named "precision manufacturing" (round).
  static const IconData precision_manufacturing_rounded = IconData(0xf00b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">precision_manufacturing</i> &#x2014; material icon named "precision manufacturing" (outlined).
  static const IconData precision_manufacturing_outlined = IconData(0xf2c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pregnant_woman</i> &#x2014; material icon named "pregnant woman".
  static const IconData pregnant_woman = IconData(0xe4e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pregnant_woman</i> &#x2014; material icon named "pregnant woman" (sharp).
  static const IconData pregnant_woman_sharp = IconData(0xebdb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pregnant_woman</i> &#x2014; material icon named "pregnant woman" (round).
  static const IconData pregnant_woman_rounded = IconData(0xf00ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pregnant_woman</i> &#x2014; material icon named "pregnant woman" (outlined).
  static const IconData pregnant_woman_outlined = IconData(0xf2c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">present_to_all</i> &#x2014; material icon named "present to all".
  static const IconData present_to_all = IconData(0xe4e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">present_to_all</i> &#x2014; material icon named "present to all" (sharp).
  static const IconData present_to_all_sharp = IconData(0xebdc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">present_to_all</i> &#x2014; material icon named "present to all" (round).
  static const IconData present_to_all_rounded = IconData(0xf00bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">present_to_all</i> &#x2014; material icon named "present to all" (outlined).
  static const IconData present_to_all_outlined = IconData(0xf2c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">preview</i> &#x2014; material icon named "preview".
  static const IconData preview = IconData(0xe4e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">preview</i> &#x2014; material icon named "preview" (sharp).
  static const IconData preview_sharp = IconData(0xebdd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">preview</i> &#x2014; material icon named "preview" (round).
  static const IconData preview_rounded = IconData(0xf00bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">preview</i> &#x2014; material icon named "preview" (outlined).
  static const IconData preview_outlined = IconData(0xf2ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">price_change</i> &#x2014; material icon named "price change".
  static const IconData price_change = IconData(0xe4e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">price_change</i> &#x2014; material icon named "price change" (sharp).
  static const IconData price_change_sharp = IconData(0xebde, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">price_change</i> &#x2014; material icon named "price change" (round).
  static const IconData price_change_rounded = IconData(0xf00bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">price_change</i> &#x2014; material icon named "price change" (outlined).
  static const IconData price_change_outlined = IconData(0xf2cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">price_check</i> &#x2014; material icon named "price check".
  static const IconData price_check = IconData(0xe4e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">price_check</i> &#x2014; material icon named "price check" (sharp).
  static const IconData price_check_sharp = IconData(0xebdf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">price_check</i> &#x2014; material icon named "price check" (round).
  static const IconData price_check_rounded = IconData(0xf00be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">price_check</i> &#x2014; material icon named "price check" (outlined).
  static const IconData price_check_outlined = IconData(0xf2cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">print</i> &#x2014; material icon named "print".
  static const IconData print = IconData(0xe4ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">print</i> &#x2014; material icon named "print" (sharp).
  static const IconData print_sharp = IconData(0xebe1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">print</i> &#x2014; material icon named "print" (round).
  static const IconData print_rounded = IconData(0xf00c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">print</i> &#x2014; material icon named "print" (outlined).
  static const IconData print_outlined = IconData(0xf2ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">print_disabled</i> &#x2014; material icon named "print disabled".
  static const IconData print_disabled = IconData(0xe4eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">print_disabled</i> &#x2014; material icon named "print disabled" (sharp).
  static const IconData print_disabled_sharp = IconData(0xebe0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">print_disabled</i> &#x2014; material icon named "print disabled" (round).
  static const IconData print_disabled_rounded = IconData(0xf00bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">print_disabled</i> &#x2014; material icon named "print disabled" (outlined).
  static const IconData print_disabled_outlined = IconData(0xf2cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">priority_high</i> &#x2014; material icon named "priority high".
  static const IconData priority_high = IconData(0xe4ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">priority_high</i> &#x2014; material icon named "priority high" (sharp).
  static const IconData priority_high_sharp = IconData(0xebe2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">priority_high</i> &#x2014; material icon named "priority high" (round).
  static const IconData priority_high_rounded = IconData(0xf00c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">priority_high</i> &#x2014; material icon named "priority high" (outlined).
  static const IconData priority_high_outlined = IconData(0xf2cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">privacy_tip</i> &#x2014; material icon named "privacy tip".
  static const IconData privacy_tip = IconData(0xe4ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">privacy_tip</i> &#x2014; material icon named "privacy tip" (sharp).
  static const IconData privacy_tip_sharp = IconData(0xebe3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">privacy_tip</i> &#x2014; material icon named "privacy tip" (round).
  static const IconData privacy_tip_rounded = IconData(0xf00c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">privacy_tip</i> &#x2014; material icon named "privacy tip" (outlined).
  static const IconData privacy_tip_outlined = IconData(0xf2d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">private_connectivity</i> &#x2014; material icon named "private connectivity".
  static const IconData private_connectivity = IconData(0xf0553, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">private_connectivity</i> &#x2014; material icon named "private connectivity" (sharp).
  static const IconData private_connectivity_sharp = IconData(0xf045c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">private_connectivity</i> &#x2014; material icon named "private connectivity" (round).
  static const IconData private_connectivity_rounded = IconData(0xf0369, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">private_connectivity</i> &#x2014; material icon named "private connectivity" (outlined).
  static const IconData private_connectivity_outlined = IconData(0xf064a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">production_quantity_limits</i> &#x2014; material icon named "production quantity limits".
  static const IconData production_quantity_limits = IconData(0xe4ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">production_quantity_limits</i> &#x2014; material icon named "production quantity limits" (sharp).
  static const IconData production_quantity_limits_sharp = IconData(0xebe4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">production_quantity_limits</i> &#x2014; material icon named "production quantity limits" (round).
  static const IconData production_quantity_limits_rounded = IconData(0xf00c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">production_quantity_limits</i> &#x2014; material icon named "production quantity limits" (outlined).
  static const IconData production_quantity_limits_outlined = IconData(0xf2d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">propane</i> &#x2014; material icon named "propane".
  static const IconData propane = IconData(0xf07b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">propane</i> &#x2014; material icon named "propane" (sharp).
  static const IconData propane_sharp = IconData(0xf0761, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">propane</i> &#x2014; material icon named "propane" (round).
  static const IconData propane_rounded = IconData(0xf0811, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">propane</i> &#x2014; material icon named "propane" (outlined).
  static const IconData propane_outlined = IconData(0xf0709, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">propane_tank</i> &#x2014; material icon named "propane tank".
  static const IconData propane_tank = IconData(0xf07ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">propane_tank</i> &#x2014; material icon named "propane tank" (sharp).
  static const IconData propane_tank_sharp = IconData(0xf0762, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">propane_tank</i> &#x2014; material icon named "propane tank" (round).
  static const IconData propane_tank_rounded = IconData(0xf0812, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">propane_tank</i> &#x2014; material icon named "propane tank" (outlined).
  static const IconData propane_tank_outlined = IconData(0xf070a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">psychology</i> &#x2014; material icon named "psychology".
  static const IconData psychology = IconData(0xe4ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">psychology</i> &#x2014; material icon named "psychology" (sharp).
  static const IconData psychology_sharp = IconData(0xebe5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">psychology</i> &#x2014; material icon named "psychology" (round).
  static const IconData psychology_rounded = IconData(0xf00c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">psychology</i> &#x2014; material icon named "psychology" (outlined).
  static const IconData psychology_outlined = IconData(0xf2d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">psychology_alt</i> &#x2014; material icon named "psychology alt".
  static const IconData psychology_alt = IconData(0xf0873, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">psychology_alt</i> &#x2014; material icon named "psychology alt" (sharp).
  static const IconData psychology_alt_sharp = IconData(0xf084a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">psychology_alt</i> &#x2014; material icon named "psychology alt" (round).
  static const IconData psychology_alt_rounded = IconData(0xf0893, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">psychology_alt</i> &#x2014; material icon named "psychology alt" (outlined).
  static const IconData psychology_alt_outlined = IconData(0xf08b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">public</i> &#x2014; material icon named "public".
  static const IconData public = IconData(0xe4f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">public</i> &#x2014; material icon named "public" (sharp).
  static const IconData public_sharp = IconData(0xebe7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">public</i> &#x2014; material icon named "public" (round).
  static const IconData public_rounded = IconData(0xf00c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">public</i> &#x2014; material icon named "public" (outlined).
  static const IconData public_outlined = IconData(0xf2d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">public_off</i> &#x2014; material icon named "public off".
  static const IconData public_off = IconData(0xe4f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">public_off</i> &#x2014; material icon named "public off" (sharp).
  static const IconData public_off_sharp = IconData(0xebe6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">public_off</i> &#x2014; material icon named "public off" (round).
  static const IconData public_off_rounded = IconData(0xf00c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">public_off</i> &#x2014; material icon named "public off" (outlined).
  static const IconData public_off_outlined = IconData(0xf2d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">publish</i> &#x2014; material icon named "publish".
  static const IconData publish = IconData(0xe4f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">publish</i> &#x2014; material icon named "publish" (sharp).
  static const IconData publish_sharp = IconData(0xebe8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">publish</i> &#x2014; material icon named "publish" (round).
  static const IconData publish_rounded = IconData(0xf00c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">publish</i> &#x2014; material icon named "publish" (outlined).
  static const IconData publish_outlined = IconData(0xf2d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">published_with_changes</i> &#x2014; material icon named "published with changes".
  static const IconData published_with_changes = IconData(0xe4f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">published_with_changes</i> &#x2014; material icon named "published with changes" (sharp).
  static const IconData published_with_changes_sharp = IconData(0xebe9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">published_with_changes</i> &#x2014; material icon named "published with changes" (round).
  static const IconData published_with_changes_rounded = IconData(0xf00c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">published_with_changes</i> &#x2014; material icon named "published with changes" (outlined).
  static const IconData published_with_changes_outlined = IconData(0xf2d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">punch_clock</i> &#x2014; material icon named "punch clock".
  static const IconData punch_clock = IconData(0xf0554, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">punch_clock</i> &#x2014; material icon named "punch clock" (sharp).
  static const IconData punch_clock_sharp = IconData(0xf045d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">punch_clock</i> &#x2014; material icon named "punch clock" (round).
  static const IconData punch_clock_rounded = IconData(0xf036a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">punch_clock</i> &#x2014; material icon named "punch clock" (outlined).
  static const IconData punch_clock_outlined = IconData(0xf064b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">push_pin</i> &#x2014; material icon named "push pin".
  static const IconData push_pin = IconData(0xe4f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">push_pin</i> &#x2014; material icon named "push pin" (sharp).
  static const IconData push_pin_sharp = IconData(0xebea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">push_pin</i> &#x2014; material icon named "push pin" (round).
  static const IconData push_pin_rounded = IconData(0xf00c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">push_pin</i> &#x2014; material icon named "push pin" (outlined).
  static const IconData push_pin_outlined = IconData(0xf2d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">qr_code</i> &#x2014; material icon named "qr code".
  static const IconData qr_code = IconData(0xe4f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">qr_code</i> &#x2014; material icon named "qr code" (sharp).
  static const IconData qr_code_sharp = IconData(0xebed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">qr_code</i> &#x2014; material icon named "qr code" (round).
  static const IconData qr_code_rounded = IconData(0xf00cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">qr_code</i> &#x2014; material icon named "qr code" (outlined).
  static const IconData qr_code_outlined = IconData(0xf2d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">qr_code_2</i> &#x2014; material icon named "qr code 2".
  static const IconData qr_code_2 = IconData(0xe4f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">qr_code_2</i> &#x2014; material icon named "qr code 2" (sharp).
  static const IconData qr_code_2_sharp = IconData(0xebeb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">qr_code_2</i> &#x2014; material icon named "qr code 2" (round).
  static const IconData qr_code_2_rounded = IconData(0xf00ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">qr_code_2</i> &#x2014; material icon named "qr code 2" (outlined).
  static const IconData qr_code_2_outlined = IconData(0xf2d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">qr_code_scanner</i> &#x2014; material icon named "qr code scanner".
  static const IconData qr_code_scanner = IconData(0xe4f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">qr_code_scanner</i> &#x2014; material icon named "qr code scanner" (sharp).
  static const IconData qr_code_scanner_sharp = IconData(0xebec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">qr_code_scanner</i> &#x2014; material icon named "qr code scanner" (round).
  static const IconData qr_code_scanner_rounded = IconData(0xf00cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">qr_code_scanner</i> &#x2014; material icon named "qr code scanner" (outlined).
  static const IconData qr_code_scanner_outlined = IconData(0xf2da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">query_builder</i> &#x2014; material icon named "query builder".
  static const IconData query_builder = IconData(0xe4f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">query_builder</i> &#x2014; material icon named "query builder" (sharp).
  static const IconData query_builder_sharp = IconData(0xebee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">query_builder</i> &#x2014; material icon named "query builder" (round).
  static const IconData query_builder_rounded = IconData(0xf00cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">query_builder</i> &#x2014; material icon named "query builder" (outlined).
  static const IconData query_builder_outlined = IconData(0xf2db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">query_stats</i> &#x2014; material icon named "query stats".
  static const IconData query_stats = IconData(0xe4f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">query_stats</i> &#x2014; material icon named "query stats" (sharp).
  static const IconData query_stats_sharp = IconData(0xebef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">query_stats</i> &#x2014; material icon named "query stats" (round).
  static const IconData query_stats_rounded = IconData(0xf00ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">query_stats</i> &#x2014; material icon named "query stats" (outlined).
  static const IconData query_stats_outlined = IconData(0xf2dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">question_answer</i> &#x2014; material icon named "question answer".
  static const IconData question_answer = IconData(0xe4fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">question_answer</i> &#x2014; material icon named "question answer" (sharp).
  static const IconData question_answer_sharp = IconData(0xebf0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">question_answer</i> &#x2014; material icon named "question answer" (round).
  static const IconData question_answer_rounded = IconData(0xf00cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">question_answer</i> &#x2014; material icon named "question answer" (outlined).
  static const IconData question_answer_outlined = IconData(0xf2dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">question_mark</i> &#x2014; material icon named "question mark".
  static const IconData question_mark = IconData(0xf0555, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">question_mark</i> &#x2014; material icon named "question mark" (sharp).
  static const IconData question_mark_sharp = IconData(0xf045e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">question_mark</i> &#x2014; material icon named "question mark" (round).
  static const IconData question_mark_rounded = IconData(0xf036b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">question_mark</i> &#x2014; material icon named "question mark" (outlined).
  static const IconData question_mark_outlined = IconData(0xf064c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">queue</i> &#x2014; material icon named "queue".
  static const IconData queue = IconData(0xe4fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">queue</i> &#x2014; material icon named "queue" (sharp).
  static const IconData queue_sharp = IconData(0xebf3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">queue</i> &#x2014; material icon named "queue" (round).
  static const IconData queue_rounded = IconData(0xf00d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">queue</i> &#x2014; material icon named "queue" (outlined).
  static const IconData queue_outlined = IconData(0xf2df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">queue_music</i> &#x2014; material icon named "queue music".
  static const IconData queue_music = IconData(0xe4fc, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">queue_music</i> &#x2014; material icon named "queue music" (sharp).
  static const IconData queue_music_sharp = IconData(0xebf1, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">queue_music</i> &#x2014; material icon named "queue music" (round).
  static const IconData queue_music_rounded = IconData(0xf00d0, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">queue_music</i> &#x2014; material icon named "queue music" (outlined).
  static const IconData queue_music_outlined = IconData(0xf2de, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">queue_play_next</i> &#x2014; material icon named "queue play next".
  static const IconData queue_play_next = IconData(0xe4fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">queue_play_next</i> &#x2014; material icon named "queue play next" (sharp).
  static const IconData queue_play_next_sharp = IconData(0xebf2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">queue_play_next</i> &#x2014; material icon named "queue play next" (round).
  static const IconData queue_play_next_rounded = IconData(0xf00d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">queue_play_next</i> &#x2014; material icon named "queue play next" (outlined).
  static const IconData queue_play_next_outlined = IconData(0xf2e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">quick_contacts_dialer</i> &#x2014; material icon named "quick contacts dialer".
  static const IconData quick_contacts_dialer = IconData(0xe18c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">quick_contacts_dialer</i> &#x2014; material icon named "quick contacts dialer" (sharp).
  static const IconData quick_contacts_dialer_sharp = IconData(0xe889, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">quick_contacts_dialer</i> &#x2014; material icon named "quick contacts dialer" (round).
  static const IconData quick_contacts_dialer_rounded = IconData(0xf668, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">quick_contacts_dialer</i> &#x2014; material icon named "quick contacts dialer" (outlined).
  static const IconData quick_contacts_dialer_outlined = IconData(0xef7b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">quick_contacts_mail</i> &#x2014; material icon named "quick contacts mail".
  static const IconData quick_contacts_mail = IconData(0xe18a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">quick_contacts_mail</i> &#x2014; material icon named "quick contacts mail" (sharp).
  static const IconData quick_contacts_mail_sharp = IconData(0xe887, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">quick_contacts_mail</i> &#x2014; material icon named "quick contacts mail" (round).
  static const IconData quick_contacts_mail_rounded = IconData(0xf666, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">quick_contacts_mail</i> &#x2014; material icon named "quick contacts mail" (outlined).
  static const IconData quick_contacts_mail_outlined = IconData(0xef79, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">quickreply</i> &#x2014; material icon named "quickreply".
  static const IconData quickreply = IconData(0xe4fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">quickreply</i> &#x2014; material icon named "quickreply" (sharp).
  static const IconData quickreply_sharp = IconData(0xebf4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">quickreply</i> &#x2014; material icon named "quickreply" (round).
  static const IconData quickreply_rounded = IconData(0xf00d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">quickreply</i> &#x2014; material icon named "quickreply" (outlined).
  static const IconData quickreply_outlined = IconData(0xf2e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">quiz</i> &#x2014; material icon named "quiz".
  static const IconData quiz = IconData(0xe4ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">quiz</i> &#x2014; material icon named "quiz" (sharp).
  static const IconData quiz_sharp = IconData(0xebf5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">quiz</i> &#x2014; material icon named "quiz" (round).
  static const IconData quiz_rounded = IconData(0xf00d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">quiz</i> &#x2014; material icon named "quiz" (outlined).
  static const IconData quiz_outlined = IconData(0xf2e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">quora</i> &#x2014; material icon named "quora".
  static const IconData quora = IconData(0xf0556, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">quora</i> &#x2014; material icon named "quora" (sharp).
  static const IconData quora_sharp = IconData(0xf045f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">quora</i> &#x2014; material icon named "quora" (round).
  static const IconData quora_rounded = IconData(0xf036c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">quora</i> &#x2014; material icon named "quora" (outlined).
  static const IconData quora_outlined = IconData(0xf064d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">r_mobiledata</i> &#x2014; material icon named "r mobiledata".
  static const IconData r_mobiledata = IconData(0xe500, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">r_mobiledata</i> &#x2014; material icon named "r mobiledata" (sharp).
  static const IconData r_mobiledata_sharp = IconData(0xebf6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">r_mobiledata</i> &#x2014; material icon named "r mobiledata" (round).
  static const IconData r_mobiledata_rounded = IconData(0xf00d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">r_mobiledata</i> &#x2014; material icon named "r mobiledata" (outlined).
  static const IconData r_mobiledata_outlined = IconData(0xf2e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">radar</i> &#x2014; material icon named "radar".
  static const IconData radar = IconData(0xe501, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">radar</i> &#x2014; material icon named "radar" (sharp).
  static const IconData radar_sharp = IconData(0xebf7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">radar</i> &#x2014; material icon named "radar" (round).
  static const IconData radar_rounded = IconData(0xf00d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">radar</i> &#x2014; material icon named "radar" (outlined).
  static const IconData radar_outlined = IconData(0xf2e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">radio</i> &#x2014; material icon named "radio".
  static const IconData radio = IconData(0xe502, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">radio</i> &#x2014; material icon named "radio" (sharp).
  static const IconData radio_sharp = IconData(0xebfa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">radio</i> &#x2014; material icon named "radio" (round).
  static const IconData radio_rounded = IconData(0xf00d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">radio</i> &#x2014; material icon named "radio" (outlined).
  static const IconData radio_outlined = IconData(0xf2e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">radio_button_checked</i> &#x2014; material icon named "radio button checked".
  static const IconData radio_button_checked = IconData(0xe503, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">radio_button_checked</i> &#x2014; material icon named "radio button checked" (sharp).
  static const IconData radio_button_checked_sharp = IconData(0xebf8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">radio_button_checked</i> &#x2014; material icon named "radio button checked" (round).
  static const IconData radio_button_checked_rounded = IconData(0xf00d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">radio_button_checked</i> &#x2014; material icon named "radio button checked" (outlined).
  static const IconData radio_button_checked_outlined = IconData(0xf2e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">radio_button_off</i> &#x2014; material icon named "radio button off".
  static const IconData radio_button_off = IconData(0xe504, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">radio_button_off</i> &#x2014; material icon named "radio button off" (sharp).
  static const IconData radio_button_off_sharp = IconData(0xebf9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">radio_button_off</i> &#x2014; material icon named "radio button off" (round).
  static const IconData radio_button_off_rounded = IconData(0xf00d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">radio_button_off</i> &#x2014; material icon named "radio button off" (outlined).
  static const IconData radio_button_off_outlined = IconData(0xf2e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">radio_button_on</i> &#x2014; material icon named "radio button on".
  static const IconData radio_button_on = IconData(0xe503, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">radio_button_on</i> &#x2014; material icon named "radio button on" (sharp).
  static const IconData radio_button_on_sharp = IconData(0xebf8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">radio_button_on</i> &#x2014; material icon named "radio button on" (round).
  static const IconData radio_button_on_rounded = IconData(0xf00d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">radio_button_on</i> &#x2014; material icon named "radio button on" (outlined).
  static const IconData radio_button_on_outlined = IconData(0xf2e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">radio_button_unchecked</i> &#x2014; material icon named "radio button unchecked".
  static const IconData radio_button_unchecked = IconData(0xe504, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">radio_button_unchecked</i> &#x2014; material icon named "radio button unchecked" (sharp).
  static const IconData radio_button_unchecked_sharp = IconData(0xebf9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">radio_button_unchecked</i> &#x2014; material icon named "radio button unchecked" (round).
  static const IconData radio_button_unchecked_rounded = IconData(0xf00d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">radio_button_unchecked</i> &#x2014; material icon named "radio button unchecked" (outlined).
  static const IconData radio_button_unchecked_outlined = IconData(0xf2e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">railway_alert</i> &#x2014; material icon named "railway alert".
  static const IconData railway_alert = IconData(0xe505, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">railway_alert</i> &#x2014; material icon named "railway alert" (sharp).
  static const IconData railway_alert_sharp = IconData(0xebfb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">railway_alert</i> &#x2014; material icon named "railway alert" (round).
  static const IconData railway_alert_rounded = IconData(0xf00da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">railway_alert</i> &#x2014; material icon named "railway alert" (outlined).
  static const IconData railway_alert_outlined = IconData(0xf2e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ramen_dining</i> &#x2014; material icon named "ramen dining".
  static const IconData ramen_dining = IconData(0xe506, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ramen_dining</i> &#x2014; material icon named "ramen dining" (sharp).
  static const IconData ramen_dining_sharp = IconData(0xebfc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ramen_dining</i> &#x2014; material icon named "ramen dining" (round).
  static const IconData ramen_dining_rounded = IconData(0xf00db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ramen_dining</i> &#x2014; material icon named "ramen dining" (outlined).
  static const IconData ramen_dining_outlined = IconData(0xf2e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ramp_left</i> &#x2014; material icon named "ramp left".
  static const IconData ramp_left = IconData(0xf0557, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ramp_left</i> &#x2014; material icon named "ramp left" (sharp).
  static const IconData ramp_left_sharp = IconData(0xf0460, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ramp_left</i> &#x2014; material icon named "ramp left" (round).
  static const IconData ramp_left_rounded = IconData(0xf036d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ramp_left</i> &#x2014; material icon named "ramp left" (outlined).
  static const IconData ramp_left_outlined = IconData(0xf064e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ramp_right</i> &#x2014; material icon named "ramp right".
  static const IconData ramp_right = IconData(0xf0558, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ramp_right</i> &#x2014; material icon named "ramp right" (sharp).
  static const IconData ramp_right_sharp = IconData(0xf0461, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ramp_right</i> &#x2014; material icon named "ramp right" (round).
  static const IconData ramp_right_rounded = IconData(0xf036e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ramp_right</i> &#x2014; material icon named "ramp right" (outlined).
  static const IconData ramp_right_outlined = IconData(0xf064f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rate_review</i> &#x2014; material icon named "rate review".
  static const IconData rate_review = IconData(0xe507, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rate_review</i> &#x2014; material icon named "rate review" (sharp).
  static const IconData rate_review_sharp = IconData(0xebfd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rate_review</i> &#x2014; material icon named "rate review" (round).
  static const IconData rate_review_rounded = IconData(0xf00dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rate_review</i> &#x2014; material icon named "rate review" (outlined).
  static const IconData rate_review_outlined = IconData(0xf2ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">raw_off</i> &#x2014; material icon named "raw off".
  static const IconData raw_off = IconData(0xe508, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">raw_off</i> &#x2014; material icon named "raw off" (sharp).
  static const IconData raw_off_sharp = IconData(0xebfe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">raw_off</i> &#x2014; material icon named "raw off" (round).
  static const IconData raw_off_rounded = IconData(0xf00dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">raw_off</i> &#x2014; material icon named "raw off" (outlined).
  static const IconData raw_off_outlined = IconData(0xf2eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">raw_on</i> &#x2014; material icon named "raw on".
  static const IconData raw_on = IconData(0xe509, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">raw_on</i> &#x2014; material icon named "raw on" (sharp).
  static const IconData raw_on_sharp = IconData(0xebff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">raw_on</i> &#x2014; material icon named "raw on" (round).
  static const IconData raw_on_rounded = IconData(0xf00de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">raw_on</i> &#x2014; material icon named "raw on" (outlined).
  static const IconData raw_on_outlined = IconData(0xf2ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">read_more</i> &#x2014; material icon named "read more".
  static const IconData read_more = IconData(0xe50a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">read_more</i> &#x2014; material icon named "read more" (sharp).
  static const IconData read_more_sharp = IconData(0xec00, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">read_more</i> &#x2014; material icon named "read more" (round).
  static const IconData read_more_rounded = IconData(0xf00df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">read_more</i> &#x2014; material icon named "read more" (outlined).
  static const IconData read_more_outlined = IconData(0xf2ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">real_estate_agent</i> &#x2014; material icon named "real estate agent".
  static const IconData real_estate_agent = IconData(0xe50b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">real_estate_agent</i> &#x2014; material icon named "real estate agent" (sharp).
  static const IconData real_estate_agent_sharp = IconData(0xec01, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">real_estate_agent</i> &#x2014; material icon named "real estate agent" (round).
  static const IconData real_estate_agent_rounded = IconData(0xf00e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">real_estate_agent</i> &#x2014; material icon named "real estate agent" (outlined).
  static const IconData real_estate_agent_outlined = IconData(0xf2ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rebase_edit</i> &#x2014; material icon named "rebase edit".
  static const IconData rebase_edit = IconData(0xf0874, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">receipt</i> &#x2014; material icon named "receipt".
  static const IconData receipt = IconData(0xe50c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">receipt</i> &#x2014; material icon named "receipt" (sharp).
  static const IconData receipt_sharp = IconData(0xec03, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">receipt</i> &#x2014; material icon named "receipt" (round).
  static const IconData receipt_rounded = IconData(0xf00e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">receipt</i> &#x2014; material icon named "receipt" (outlined).
  static const IconData receipt_outlined = IconData(0xf2f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">receipt_long</i> &#x2014; material icon named "receipt long".
  static const IconData receipt_long = IconData(0xe50d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">receipt_long</i> &#x2014; material icon named "receipt long" (sharp).
  static const IconData receipt_long_sharp = IconData(0xec02, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">receipt_long</i> &#x2014; material icon named "receipt long" (round).
  static const IconData receipt_long_rounded = IconData(0xf00e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">receipt_long</i> &#x2014; material icon named "receipt long" (outlined).
  static const IconData receipt_long_outlined = IconData(0xf2ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">recent_actors</i> &#x2014; material icon named "recent actors".
  static const IconData recent_actors = IconData(0xe50e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">recent_actors</i> &#x2014; material icon named "recent actors" (sharp).
  static const IconData recent_actors_sharp = IconData(0xec04, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">recent_actors</i> &#x2014; material icon named "recent actors" (round).
  static const IconData recent_actors_rounded = IconData(0xf00e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">recent_actors</i> &#x2014; material icon named "recent actors" (outlined).
  static const IconData recent_actors_outlined = IconData(0xf2f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">recommend</i> &#x2014; material icon named "recommend".
  static const IconData recommend = IconData(0xe50f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">recommend</i> &#x2014; material icon named "recommend" (sharp).
  static const IconData recommend_sharp = IconData(0xec05, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">recommend</i> &#x2014; material icon named "recommend" (round).
  static const IconData recommend_rounded = IconData(0xf00e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">recommend</i> &#x2014; material icon named "recommend" (outlined).
  static const IconData recommend_outlined = IconData(0xf2f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">record_voice_over</i> &#x2014; material icon named "record voice over".
  static const IconData record_voice_over = IconData(0xe510, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">record_voice_over</i> &#x2014; material icon named "record voice over" (sharp).
  static const IconData record_voice_over_sharp = IconData(0xec06, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">record_voice_over</i> &#x2014; material icon named "record voice over" (round).
  static const IconData record_voice_over_rounded = IconData(0xf00e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">record_voice_over</i> &#x2014; material icon named "record voice over" (outlined).
  static const IconData record_voice_over_outlined = IconData(0xf2f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rectangle</i> &#x2014; material icon named "rectangle".
  static const IconData rectangle = IconData(0xf0559, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rectangle</i> &#x2014; material icon named "rectangle" (sharp).
  static const IconData rectangle_sharp = IconData(0xf0462, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rectangle</i> &#x2014; material icon named "rectangle" (round).
  static const IconData rectangle_rounded = IconData(0xf036f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rectangle</i> &#x2014; material icon named "rectangle" (outlined).
  static const IconData rectangle_outlined = IconData(0xf0650, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">recycling</i> &#x2014; material icon named "recycling".
  static const IconData recycling = IconData(0xf055a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">recycling</i> &#x2014; material icon named "recycling" (sharp).
  static const IconData recycling_sharp = IconData(0xf0463, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">recycling</i> &#x2014; material icon named "recycling" (round).
  static const IconData recycling_rounded = IconData(0xf0370, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">recycling</i> &#x2014; material icon named "recycling" (outlined).
  static const IconData recycling_outlined = IconData(0xf0651, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">reddit</i> &#x2014; material icon named "reddit".
  static const IconData reddit = IconData(0xf055b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">reddit</i> &#x2014; material icon named "reddit" (sharp).
  static const IconData reddit_sharp = IconData(0xf0464, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">reddit</i> &#x2014; material icon named "reddit" (round).
  static const IconData reddit_rounded = IconData(0xf0371, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">reddit</i> &#x2014; material icon named "reddit" (outlined).
  static const IconData reddit_outlined = IconData(0xf0652, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">redeem</i> &#x2014; material icon named "redeem".
  static const IconData redeem = IconData(0xe511, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">redeem</i> &#x2014; material icon named "redeem" (sharp).
  static const IconData redeem_sharp = IconData(0xec07, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">redeem</i> &#x2014; material icon named "redeem" (round).
  static const IconData redeem_rounded = IconData(0xf00e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">redeem</i> &#x2014; material icon named "redeem" (outlined).
  static const IconData redeem_outlined = IconData(0xf2f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">redo</i> &#x2014; material icon named "redo".
  static const IconData redo = IconData(0xe512, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">redo</i> &#x2014; material icon named "redo" (sharp).
  static const IconData redo_sharp = IconData(0xec08, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">redo</i> &#x2014; material icon named "redo" (round).
  static const IconData redo_rounded = IconData(0xf00e7, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">redo</i> &#x2014; material icon named "redo" (outlined).
  static const IconData redo_outlined = IconData(0xf2f5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">reduce_capacity</i> &#x2014; material icon named "reduce capacity".
  static const IconData reduce_capacity = IconData(0xe513, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">reduce_capacity</i> &#x2014; material icon named "reduce capacity" (sharp).
  static const IconData reduce_capacity_sharp = IconData(0xec09, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">reduce_capacity</i> &#x2014; material icon named "reduce capacity" (round).
  static const IconData reduce_capacity_rounded = IconData(0xf00e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">reduce_capacity</i> &#x2014; material icon named "reduce capacity" (outlined).
  static const IconData reduce_capacity_outlined = IconData(0xf2f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">refresh</i> &#x2014; material icon named "refresh".
  static const IconData refresh = IconData(0xe514, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">refresh</i> &#x2014; material icon named "refresh" (sharp).
  static const IconData refresh_sharp = IconData(0xec0a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">refresh</i> &#x2014; material icon named "refresh" (round).
  static const IconData refresh_rounded = IconData(0xf00e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">refresh</i> &#x2014; material icon named "refresh" (outlined).
  static const IconData refresh_outlined = IconData(0xf2f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">remember_me</i> &#x2014; material icon named "remember me".
  static const IconData remember_me = IconData(0xe515, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">remember_me</i> &#x2014; material icon named "remember me" (sharp).
  static const IconData remember_me_sharp = IconData(0xec0b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">remember_me</i> &#x2014; material icon named "remember me" (round).
  static const IconData remember_me_rounded = IconData(0xf00ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">remember_me</i> &#x2014; material icon named "remember me" (outlined).
  static const IconData remember_me_outlined = IconData(0xf2f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">remove</i> &#x2014; material icon named "remove".
  static const IconData remove = IconData(0xe516, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">remove</i> &#x2014; material icon named "remove" (sharp).
  static const IconData remove_sharp = IconData(0xec12, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">remove</i> &#x2014; material icon named "remove" (round).
  static const IconData remove_rounded = IconData(0xf00f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">remove</i> &#x2014; material icon named "remove" (outlined).
  static const IconData remove_outlined = IconData(0xf2fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">remove_circle</i> &#x2014; material icon named "remove circle".
  static const IconData remove_circle = IconData(0xe517, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">remove_circle</i> &#x2014; material icon named "remove circle" (sharp).
  static const IconData remove_circle_sharp = IconData(0xec0d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">remove_circle</i> &#x2014; material icon named "remove circle" (round).
  static const IconData remove_circle_rounded = IconData(0xf00ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">remove_circle</i> &#x2014; material icon named "remove circle" (outlined).
  static const IconData remove_circle_outlined = IconData(0xf2fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">remove_circle_outline</i> &#x2014; material icon named "remove circle outline".
  static const IconData remove_circle_outline = IconData(0xe518, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">remove_circle_outline</i> &#x2014; material icon named "remove circle outline" (sharp).
  static const IconData remove_circle_outline_sharp = IconData(0xec0c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">remove_circle_outline</i> &#x2014; material icon named "remove circle outline" (round).
  static const IconData remove_circle_outline_rounded = IconData(0xf00eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">remove_circle_outline</i> &#x2014; material icon named "remove circle outline" (outlined).
  static const IconData remove_circle_outline_outlined = IconData(0xf2f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">remove_done</i> &#x2014; material icon named "remove done".
  static const IconData remove_done = IconData(0xe519, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">remove_done</i> &#x2014; material icon named "remove done" (sharp).
  static const IconData remove_done_sharp = IconData(0xec0e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">remove_done</i> &#x2014; material icon named "remove done" (round).
  static const IconData remove_done_rounded = IconData(0xf00ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">remove_done</i> &#x2014; material icon named "remove done" (outlined).
  static const IconData remove_done_outlined = IconData(0xf2fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">remove_from_queue</i> &#x2014; material icon named "remove from queue".
  static const IconData remove_from_queue = IconData(0xe51a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">remove_from_queue</i> &#x2014; material icon named "remove from queue" (sharp).
  static const IconData remove_from_queue_sharp = IconData(0xec0f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">remove_from_queue</i> &#x2014; material icon named "remove from queue" (round).
  static const IconData remove_from_queue_rounded = IconData(0xf00ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">remove_from_queue</i> &#x2014; material icon named "remove from queue" (outlined).
  static const IconData remove_from_queue_outlined = IconData(0xf2fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">remove_moderator</i> &#x2014; material icon named "remove moderator".
  static const IconData remove_moderator = IconData(0xe51b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">remove_moderator</i> &#x2014; material icon named "remove moderator" (sharp).
  static const IconData remove_moderator_sharp = IconData(0xec10, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">remove_moderator</i> &#x2014; material icon named "remove moderator" (round).
  static const IconData remove_moderator_rounded = IconData(0xf00ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">remove_moderator</i> &#x2014; material icon named "remove moderator" (outlined).
  static const IconData remove_moderator_outlined = IconData(0xf2fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">remove_red_eye</i> &#x2014; material icon named "remove red eye".
  static const IconData remove_red_eye = IconData(0xe51c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">remove_red_eye</i> &#x2014; material icon named "remove red eye" (sharp).
  static const IconData remove_red_eye_sharp = IconData(0xec11, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">remove_red_eye</i> &#x2014; material icon named "remove red eye" (round).
  static const IconData remove_red_eye_rounded = IconData(0xf00f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">remove_red_eye</i> &#x2014; material icon named "remove red eye" (outlined).
  static const IconData remove_red_eye_outlined = IconData(0xf2ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">remove_road</i> &#x2014; material icon named "remove road".
  static const IconData remove_road = IconData(0xf07bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">remove_road</i> &#x2014; material icon named "remove road" (sharp).
  static const IconData remove_road_sharp = IconData(0xf0763, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">remove_road</i> &#x2014; material icon named "remove road" (round).
  static const IconData remove_road_rounded = IconData(0xf0813, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">remove_road</i> &#x2014; material icon named "remove road" (outlined).
  static const IconData remove_road_outlined = IconData(0xf070b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">remove_shopping_cart</i> &#x2014; material icon named "remove shopping cart".
  static const IconData remove_shopping_cart = IconData(0xe51d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">remove_shopping_cart</i> &#x2014; material icon named "remove shopping cart" (sharp).
  static const IconData remove_shopping_cart_sharp = IconData(0xec13, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">remove_shopping_cart</i> &#x2014; material icon named "remove shopping cart" (round).
  static const IconData remove_shopping_cart_rounded = IconData(0xf00f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">remove_shopping_cart</i> &#x2014; material icon named "remove shopping cart" (outlined).
  static const IconData remove_shopping_cart_outlined = IconData(0xf300, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">reorder</i> &#x2014; material icon named "reorder".
  static const IconData reorder = IconData(0xe51e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">reorder</i> &#x2014; material icon named "reorder" (sharp).
  static const IconData reorder_sharp = IconData(0xec14, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">reorder</i> &#x2014; material icon named "reorder" (round).
  static const IconData reorder_rounded = IconData(0xf00f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">reorder</i> &#x2014; material icon named "reorder" (outlined).
  static const IconData reorder_outlined = IconData(0xf301, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">repartition</i> &#x2014; material icon named "repartition".
  static const IconData repartition = IconData(0xf0875, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">repartition</i> &#x2014; material icon named "repartition" (sharp).
  static const IconData repartition_sharp = IconData(0xf084b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">repartition</i> &#x2014; material icon named "repartition" (round).
  static const IconData repartition_rounded = IconData(0xf0894, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">repartition</i> &#x2014; material icon named "repartition" (outlined).
  static const IconData repartition_outlined = IconData(0xf08b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">repeat</i> &#x2014; material icon named "repeat".
  static const IconData repeat = IconData(0xe51f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">repeat</i> &#x2014; material icon named "repeat" (sharp).
  static const IconData repeat_sharp = IconData(0xec18, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">repeat</i> &#x2014; material icon named "repeat" (round).
  static const IconData repeat_rounded = IconData(0xf00f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">repeat</i> &#x2014; material icon named "repeat" (outlined).
  static const IconData repeat_outlined = IconData(0xf305, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">repeat_on</i> &#x2014; material icon named "repeat on".
  static const IconData repeat_on = IconData(0xe520, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">repeat_on</i> &#x2014; material icon named "repeat on" (sharp).
  static const IconData repeat_on_sharp = IconData(0xec15, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">repeat_on</i> &#x2014; material icon named "repeat on" (round).
  static const IconData repeat_on_rounded = IconData(0xf00f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">repeat_on</i> &#x2014; material icon named "repeat on" (outlined).
  static const IconData repeat_on_outlined = IconData(0xf302, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">repeat_one</i> &#x2014; material icon named "repeat one".
  static const IconData repeat_one = IconData(0xe521, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">repeat_one</i> &#x2014; material icon named "repeat one" (sharp).
  static const IconData repeat_one_sharp = IconData(0xec17, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">repeat_one</i> &#x2014; material icon named "repeat one" (round).
  static const IconData repeat_one_rounded = IconData(0xf00f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">repeat_one</i> &#x2014; material icon named "repeat one" (outlined).
  static const IconData repeat_one_outlined = IconData(0xf304, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">repeat_one_on</i> &#x2014; material icon named "repeat one on".
  static const IconData repeat_one_on = IconData(0xe522, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">repeat_one_on</i> &#x2014; material icon named "repeat one on" (sharp).
  static const IconData repeat_one_on_sharp = IconData(0xec16, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">repeat_one_on</i> &#x2014; material icon named "repeat one on" (round).
  static const IconData repeat_one_on_rounded = IconData(0xf00f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">repeat_one_on</i> &#x2014; material icon named "repeat one on" (outlined).
  static const IconData repeat_one_on_outlined = IconData(0xf303, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">replay</i> &#x2014; material icon named "replay".
  static const IconData replay = IconData(0xe523, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">replay</i> &#x2014; material icon named "replay" (sharp).
  static const IconData replay_sharp = IconData(0xec1d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">replay</i> &#x2014; material icon named "replay" (round).
  static const IconData replay_rounded = IconData(0xf00fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">replay</i> &#x2014; material icon named "replay" (outlined).
  static const IconData replay_outlined = IconData(0xf30a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">replay_10</i> &#x2014; material icon named "replay 10".
  static const IconData replay_10 = IconData(0xe524, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">replay_10</i> &#x2014; material icon named "replay 10" (sharp).
  static const IconData replay_10_sharp = IconData(0xec19, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">replay_10</i> &#x2014; material icon named "replay 10" (round).
  static const IconData replay_10_rounded = IconData(0xf00f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">replay_10</i> &#x2014; material icon named "replay 10" (outlined).
  static const IconData replay_10_outlined = IconData(0xf306, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">replay_30</i> &#x2014; material icon named "replay 30".
  static const IconData replay_30 = IconData(0xe525, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">replay_30</i> &#x2014; material icon named "replay 30" (sharp).
  static const IconData replay_30_sharp = IconData(0xec1a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">replay_30</i> &#x2014; material icon named "replay 30" (round).
  static const IconData replay_30_rounded = IconData(0xf00f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">replay_30</i> &#x2014; material icon named "replay 30" (outlined).
  static const IconData replay_30_outlined = IconData(0xf307, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">replay_5</i> &#x2014; material icon named "replay 5".
  static const IconData replay_5 = IconData(0xe526, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">replay_5</i> &#x2014; material icon named "replay 5" (sharp).
  static const IconData replay_5_sharp = IconData(0xec1b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">replay_5</i> &#x2014; material icon named "replay 5" (round).
  static const IconData replay_5_rounded = IconData(0xf00fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">replay_5</i> &#x2014; material icon named "replay 5" (outlined).
  static const IconData replay_5_outlined = IconData(0xf308, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">replay_circle_filled</i> &#x2014; material icon named "replay circle filled".
  static const IconData replay_circle_filled = IconData(0xe527, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">replay_circle_filled</i> &#x2014; material icon named "replay circle filled" (sharp).
  static const IconData replay_circle_filled_sharp = IconData(0xec1c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">replay_circle_filled</i> &#x2014; material icon named "replay circle filled" (round).
  static const IconData replay_circle_filled_rounded = IconData(0xf00fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">replay_circle_filled</i> &#x2014; material icon named "replay circle filled" (outlined).
  static const IconData replay_circle_filled_outlined = IconData(0xf309, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">reply</i> &#x2014; material icon named "reply".
  static const IconData reply = IconData(0xe528, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">reply</i> &#x2014; material icon named "reply" (sharp).
  static const IconData reply_sharp = IconData(0xec1f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">reply</i> &#x2014; material icon named "reply" (round).
  static const IconData reply_rounded = IconData(0xf00fe, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">reply</i> &#x2014; material icon named "reply" (outlined).
  static const IconData reply_outlined = IconData(0xf30c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">reply_all</i> &#x2014; material icon named "reply all".
  static const IconData reply_all = IconData(0xe529, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">reply_all</i> &#x2014; material icon named "reply all" (sharp).
  static const IconData reply_all_sharp = IconData(0xec1e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">reply_all</i> &#x2014; material icon named "reply all" (round).
  static const IconData reply_all_rounded = IconData(0xf00fd, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">reply_all</i> &#x2014; material icon named "reply all" (outlined).
  static const IconData reply_all_outlined = IconData(0xf30b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">report</i> &#x2014; material icon named "report".
  static const IconData report = IconData(0xe52a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">report</i> &#x2014; material icon named "report" (sharp).
  static const IconData report_sharp = IconData(0xec23, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">report</i> &#x2014; material icon named "report" (round).
  static const IconData report_rounded = IconData(0xf0102, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">report</i> &#x2014; material icon named "report" (outlined).
  static const IconData report_outlined = IconData(0xf30f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">report_gmailerrorred</i> &#x2014; material icon named "report gmailerrorred".
  static const IconData report_gmailerrorred = IconData(0xe52b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">report_gmailerrorred</i> &#x2014; material icon named "report gmailerrorred" (sharp).
  static const IconData report_gmailerrorred_sharp = IconData(0xec20, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">report_gmailerrorred</i> &#x2014; material icon named "report gmailerrorred" (round).
  static const IconData report_gmailerrorred_rounded = IconData(0xf00ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">report_gmailerrorred</i> &#x2014; material icon named "report gmailerrorred" (outlined).
  static const IconData report_gmailerrorred_outlined = IconData(0xf30d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">report_off</i> &#x2014; material icon named "report off".
  static const IconData report_off = IconData(0xe52c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">report_off</i> &#x2014; material icon named "report off" (sharp).
  static const IconData report_off_sharp = IconData(0xec21, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">report_off</i> &#x2014; material icon named "report off" (round).
  static const IconData report_off_rounded = IconData(0xf0100, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">report_off</i> &#x2014; material icon named "report off" (outlined).
  static const IconData report_off_outlined = IconData(0xf30e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">report_problem</i> &#x2014; material icon named "report problem".
  static const IconData report_problem = IconData(0xe52d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">report_problem</i> &#x2014; material icon named "report problem" (sharp).
  static const IconData report_problem_sharp = IconData(0xec22, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">report_problem</i> &#x2014; material icon named "report problem" (round).
  static const IconData report_problem_rounded = IconData(0xf0101, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">report_problem</i> &#x2014; material icon named "report problem" (outlined).
  static const IconData report_problem_outlined = IconData(0xf310, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">request_page</i> &#x2014; material icon named "request page".
  static const IconData request_page = IconData(0xe52e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">request_page</i> &#x2014; material icon named "request page" (sharp).
  static const IconData request_page_sharp = IconData(0xec24, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">request_page</i> &#x2014; material icon named "request page" (round).
  static const IconData request_page_rounded = IconData(0xf0103, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">request_page</i> &#x2014; material icon named "request page" (outlined).
  static const IconData request_page_outlined = IconData(0xf311, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">request_quote</i> &#x2014; material icon named "request quote".
  static const IconData request_quote = IconData(0xe52f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">request_quote</i> &#x2014; material icon named "request quote" (sharp).
  static const IconData request_quote_sharp = IconData(0xec25, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">request_quote</i> &#x2014; material icon named "request quote" (round).
  static const IconData request_quote_rounded = IconData(0xf0104, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">request_quote</i> &#x2014; material icon named "request quote" (outlined).
  static const IconData request_quote_outlined = IconData(0xf312, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">reset_tv</i> &#x2014; material icon named "reset tv".
  static const IconData reset_tv = IconData(0xe530, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">reset_tv</i> &#x2014; material icon named "reset tv" (sharp).
  static const IconData reset_tv_sharp = IconData(0xec26, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">reset_tv</i> &#x2014; material icon named "reset tv" (round).
  static const IconData reset_tv_rounded = IconData(0xf0105, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">reset_tv</i> &#x2014; material icon named "reset tv" (outlined).
  static const IconData reset_tv_outlined = IconData(0xf313, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">restart_alt</i> &#x2014; material icon named "restart alt".
  static const IconData restart_alt = IconData(0xe531, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">restart_alt</i> &#x2014; material icon named "restart alt" (sharp).
  static const IconData restart_alt_sharp = IconData(0xec27, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">restart_alt</i> &#x2014; material icon named "restart alt" (round).
  static const IconData restart_alt_rounded = IconData(0xf0106, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">restart_alt</i> &#x2014; material icon named "restart alt" (outlined).
  static const IconData restart_alt_outlined = IconData(0xf314, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">restaurant</i> &#x2014; material icon named "restaurant".
  static const IconData restaurant = IconData(0xe532, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">restaurant</i> &#x2014; material icon named "restaurant" (sharp).
  static const IconData restaurant_sharp = IconData(0xec29, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">restaurant</i> &#x2014; material icon named "restaurant" (round).
  static const IconData restaurant_rounded = IconData(0xf0108, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">restaurant</i> &#x2014; material icon named "restaurant" (outlined).
  static const IconData restaurant_outlined = IconData(0xf316, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">restaurant_menu</i> &#x2014; material icon named "restaurant menu".
  static const IconData restaurant_menu = IconData(0xe533, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">restaurant_menu</i> &#x2014; material icon named "restaurant menu" (sharp).
  static const IconData restaurant_menu_sharp = IconData(0xec28, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">restaurant_menu</i> &#x2014; material icon named "restaurant menu" (round).
  static const IconData restaurant_menu_rounded = IconData(0xf0107, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">restaurant_menu</i> &#x2014; material icon named "restaurant menu" (outlined).
  static const IconData restaurant_menu_outlined = IconData(0xf315, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">restore</i> &#x2014; material icon named "restore".
  static const IconData restore = IconData(0xe534, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">restore</i> &#x2014; material icon named "restore" (sharp).
  static const IconData restore_sharp = IconData(0xec2c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">restore</i> &#x2014; material icon named "restore" (round).
  static const IconData restore_rounded = IconData(0xf010b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">restore</i> &#x2014; material icon named "restore" (outlined).
  static const IconData restore_outlined = IconData(0xf318, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">restore_from_trash</i> &#x2014; material icon named "restore from trash".
  static const IconData restore_from_trash = IconData(0xe535, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">restore_from_trash</i> &#x2014; material icon named "restore from trash" (sharp).
  static const IconData restore_from_trash_sharp = IconData(0xec2a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">restore_from_trash</i> &#x2014; material icon named "restore from trash" (round).
  static const IconData restore_from_trash_rounded = IconData(0xf0109, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">restore_from_trash</i> &#x2014; material icon named "restore from trash" (outlined).
  static const IconData restore_from_trash_outlined = IconData(0xf317, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">restore_page</i> &#x2014; material icon named "restore page".
  static const IconData restore_page = IconData(0xe536, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">restore_page</i> &#x2014; material icon named "restore page" (sharp).
  static const IconData restore_page_sharp = IconData(0xec2b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">restore_page</i> &#x2014; material icon named "restore page" (round).
  static const IconData restore_page_rounded = IconData(0xf010a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">restore_page</i> &#x2014; material icon named "restore page" (outlined).
  static const IconData restore_page_outlined = IconData(0xf319, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">reviews</i> &#x2014; material icon named "reviews".
  static const IconData reviews = IconData(0xe537, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">reviews</i> &#x2014; material icon named "reviews" (sharp).
  static const IconData reviews_sharp = IconData(0xec2d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">reviews</i> &#x2014; material icon named "reviews" (round).
  static const IconData reviews_rounded = IconData(0xf010c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">reviews</i> &#x2014; material icon named "reviews" (outlined).
  static const IconData reviews_outlined = IconData(0xf31a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rice_bowl</i> &#x2014; material icon named "rice bowl".
  static const IconData rice_bowl = IconData(0xe538, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rice_bowl</i> &#x2014; material icon named "rice bowl" (sharp).
  static const IconData rice_bowl_sharp = IconData(0xec2e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rice_bowl</i> &#x2014; material icon named "rice bowl" (round).
  static const IconData rice_bowl_rounded = IconData(0xf010d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rice_bowl</i> &#x2014; material icon named "rice bowl" (outlined).
  static const IconData rice_bowl_outlined = IconData(0xf31b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ring_volume</i> &#x2014; material icon named "ring volume".
  static const IconData ring_volume = IconData(0xe539, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ring_volume</i> &#x2014; material icon named "ring volume" (sharp).
  static const IconData ring_volume_sharp = IconData(0xec2f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ring_volume</i> &#x2014; material icon named "ring volume" (round).
  static const IconData ring_volume_rounded = IconData(0xf010e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ring_volume</i> &#x2014; material icon named "ring volume" (outlined).
  static const IconData ring_volume_outlined = IconData(0xf31c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rocket</i> &#x2014; material icon named "rocket".
  static const IconData rocket = IconData(0xf055c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rocket</i> &#x2014; material icon named "rocket" (sharp).
  static const IconData rocket_sharp = IconData(0xf0466, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rocket</i> &#x2014; material icon named "rocket" (round).
  static const IconData rocket_rounded = IconData(0xf0373, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rocket</i> &#x2014; material icon named "rocket" (outlined).
  static const IconData rocket_outlined = IconData(0xf0654, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rocket_launch</i> &#x2014; material icon named "rocket launch".
  static const IconData rocket_launch = IconData(0xf055d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rocket_launch</i> &#x2014; material icon named "rocket launch" (sharp).
  static const IconData rocket_launch_sharp = IconData(0xf0465, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rocket_launch</i> &#x2014; material icon named "rocket launch" (round).
  static const IconData rocket_launch_rounded = IconData(0xf0372, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rocket_launch</i> &#x2014; material icon named "rocket launch" (outlined).
  static const IconData rocket_launch_outlined = IconData(0xf0653, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">roller_shades</i> &#x2014; material icon named "roller shades".
  static const IconData roller_shades = IconData(0xf07bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">roller_shades</i> &#x2014; material icon named "roller shades" (sharp).
  static const IconData roller_shades_sharp = IconData(0xf0765, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">roller_shades</i> &#x2014; material icon named "roller shades" (round).
  static const IconData roller_shades_rounded = IconData(0xf0815, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">roller_shades</i> &#x2014; material icon named "roller shades" (outlined).
  static const IconData roller_shades_outlined = IconData(0xf070d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">roller_shades_closed</i> &#x2014; material icon named "roller shades closed".
  static const IconData roller_shades_closed = IconData(0xf07bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">roller_shades_closed</i> &#x2014; material icon named "roller shades closed" (sharp).
  static const IconData roller_shades_closed_sharp = IconData(0xf0764, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">roller_shades_closed</i> &#x2014; material icon named "roller shades closed" (round).
  static const IconData roller_shades_closed_rounded = IconData(0xf0814, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">roller_shades_closed</i> &#x2014; material icon named "roller shades closed" (outlined).
  static const IconData roller_shades_closed_outlined = IconData(0xf070c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">roller_skating</i> &#x2014; material icon named "roller skating".
  static const IconData roller_skating = IconData(0xf06c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">roller_skating</i> &#x2014; material icon named "roller skating" (sharp).
  static const IconData roller_skating_sharp = IconData(0xf06b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">roller_skating</i> &#x2014; material icon named "roller skating" (round).
  static const IconData roller_skating_rounded = IconData(0xf06cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">roller_skating</i> &#x2014; material icon named "roller skating" (outlined).
  static const IconData roller_skating_outlined = IconData(0xf06a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">roofing</i> &#x2014; material icon named "roofing".
  static const IconData roofing = IconData(0xe53a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">roofing</i> &#x2014; material icon named "roofing" (sharp).
  static const IconData roofing_sharp = IconData(0xec30, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">roofing</i> &#x2014; material icon named "roofing" (round).
  static const IconData roofing_rounded = IconData(0xf010f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">roofing</i> &#x2014; material icon named "roofing" (outlined).
  static const IconData roofing_outlined = IconData(0xf31d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">room</i> &#x2014; material icon named "room".
  static const IconData room = IconData(0xe53b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">room</i> &#x2014; material icon named "room" (sharp).
  static const IconData room_sharp = IconData(0xec33, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">room</i> &#x2014; material icon named "room" (round).
  static const IconData room_rounded = IconData(0xf0111, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">room</i> &#x2014; material icon named "room" (outlined).
  static const IconData room_outlined = IconData(0xf31e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">room_preferences</i> &#x2014; material icon named "room preferences".
  static const IconData room_preferences = IconData(0xe53c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">room_preferences</i> &#x2014; material icon named "room preferences" (sharp).
  static const IconData room_preferences_sharp = IconData(0xec31, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">room_preferences</i> &#x2014; material icon named "room preferences" (round).
  static const IconData room_preferences_rounded = IconData(0xf0110, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">room_preferences</i> &#x2014; material icon named "room preferences" (outlined).
  static const IconData room_preferences_outlined = IconData(0xf31f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">room_service</i> &#x2014; material icon named "room service".
  static const IconData room_service = IconData(0xe53d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">room_service</i> &#x2014; material icon named "room service" (sharp).
  static const IconData room_service_sharp = IconData(0xec32, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">room_service</i> &#x2014; material icon named "room service" (round).
  static const IconData room_service_rounded = IconData(0xf0112, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">room_service</i> &#x2014; material icon named "room service" (outlined).
  static const IconData room_service_outlined = IconData(0xf320, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rotate_90_degrees_ccw</i> &#x2014; material icon named "rotate 90 degrees ccw".
  static const IconData rotate_90_degrees_ccw = IconData(0xe53e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rotate_90_degrees_ccw</i> &#x2014; material icon named "rotate 90 degrees ccw" (sharp).
  static const IconData rotate_90_degrees_ccw_sharp = IconData(0xec34, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rotate_90_degrees_ccw</i> &#x2014; material icon named "rotate 90 degrees ccw" (round).
  static const IconData rotate_90_degrees_ccw_rounded = IconData(0xf0113, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rotate_90_degrees_ccw</i> &#x2014; material icon named "rotate 90 degrees ccw" (outlined).
  static const IconData rotate_90_degrees_ccw_outlined = IconData(0xf321, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rotate_90_degrees_cw</i> &#x2014; material icon named "rotate 90 degrees cw".
  static const IconData rotate_90_degrees_cw = IconData(0xf055e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rotate_90_degrees_cw</i> &#x2014; material icon named "rotate 90 degrees cw" (sharp).
  static const IconData rotate_90_degrees_cw_sharp = IconData(0xf0467, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rotate_90_degrees_cw</i> &#x2014; material icon named "rotate 90 degrees cw" (round).
  static const IconData rotate_90_degrees_cw_rounded = IconData(0xf0374, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rotate_90_degrees_cw</i> &#x2014; material icon named "rotate 90 degrees cw" (outlined).
  static const IconData rotate_90_degrees_cw_outlined = IconData(0xf0655, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rotate_left</i> &#x2014; material icon named "rotate left".
  static const IconData rotate_left = IconData(0xe53f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rotate_left</i> &#x2014; material icon named "rotate left" (sharp).
  static const IconData rotate_left_sharp = IconData(0xec35, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rotate_left</i> &#x2014; material icon named "rotate left" (round).
  static const IconData rotate_left_rounded = IconData(0xf0114, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rotate_left</i> &#x2014; material icon named "rotate left" (outlined).
  static const IconData rotate_left_outlined = IconData(0xf322, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rotate_right</i> &#x2014; material icon named "rotate right".
  static const IconData rotate_right = IconData(0xe540, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rotate_right</i> &#x2014; material icon named "rotate right" (sharp).
  static const IconData rotate_right_sharp = IconData(0xec36, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rotate_right</i> &#x2014; material icon named "rotate right" (round).
  static const IconData rotate_right_rounded = IconData(0xf0115, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rotate_right</i> &#x2014; material icon named "rotate right" (outlined).
  static const IconData rotate_right_outlined = IconData(0xf323, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">roundabout_left</i> &#x2014; material icon named "roundabout left".
  static const IconData roundabout_left = IconData(0xf055f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">roundabout_left</i> &#x2014; material icon named "roundabout left" (sharp).
  static const IconData roundabout_left_sharp = IconData(0xf0468, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">roundabout_left</i> &#x2014; material icon named "roundabout left" (round).
  static const IconData roundabout_left_rounded = IconData(0xf0375, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">roundabout_left</i> &#x2014; material icon named "roundabout left" (outlined).
  static const IconData roundabout_left_outlined = IconData(0xf0656, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">roundabout_right</i> &#x2014; material icon named "roundabout right".
  static const IconData roundabout_right = IconData(0xf0560, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">roundabout_right</i> &#x2014; material icon named "roundabout right" (sharp).
  static const IconData roundabout_right_sharp = IconData(0xf0469, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">roundabout_right</i> &#x2014; material icon named "roundabout right" (round).
  static const IconData roundabout_right_rounded = IconData(0xf0376, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">roundabout_right</i> &#x2014; material icon named "roundabout right" (outlined).
  static const IconData roundabout_right_outlined = IconData(0xf0657, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rounded_corner</i> &#x2014; material icon named "rounded corner".
  static const IconData rounded_corner = IconData(0xe541, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rounded_corner</i> &#x2014; material icon named "rounded corner" (sharp).
  static const IconData rounded_corner_sharp = IconData(0xec37, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rounded_corner</i> &#x2014; material icon named "rounded corner" (round).
  static const IconData rounded_corner_rounded = IconData(0xf0116, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rounded_corner</i> &#x2014; material icon named "rounded corner" (outlined).
  static const IconData rounded_corner_outlined = IconData(0xf324, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">route</i> &#x2014; material icon named "route".
  static const IconData route = IconData(0xf0561, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">route</i> &#x2014; material icon named "route" (sharp).
  static const IconData route_sharp = IconData(0xf046a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">route</i> &#x2014; material icon named "route" (round).
  static const IconData route_rounded = IconData(0xf0377, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">route</i> &#x2014; material icon named "route" (outlined).
  static const IconData route_outlined = IconData(0xf0658, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">router</i> &#x2014; material icon named "router".
  static const IconData router = IconData(0xe542, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">router</i> &#x2014; material icon named "router" (sharp).
  static const IconData router_sharp = IconData(0xec38, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">router</i> &#x2014; material icon named "router" (round).
  static const IconData router_rounded = IconData(0xf0117, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">router</i> &#x2014; material icon named "router" (outlined).
  static const IconData router_outlined = IconData(0xf325, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rowing</i> &#x2014; material icon named "rowing".
  static const IconData rowing = IconData(0xe543, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rowing</i> &#x2014; material icon named "rowing" (sharp).
  static const IconData rowing_sharp = IconData(0xec39, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rowing</i> &#x2014; material icon named "rowing" (round).
  static const IconData rowing_rounded = IconData(0xf0118, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rowing</i> &#x2014; material icon named "rowing" (outlined).
  static const IconData rowing_outlined = IconData(0xf326, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rss_feed</i> &#x2014; material icon named "rss feed".
  static const IconData rss_feed = IconData(0xe544, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rss_feed</i> &#x2014; material icon named "rss feed" (sharp).
  static const IconData rss_feed_sharp = IconData(0xec3a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rss_feed</i> &#x2014; material icon named "rss feed" (round).
  static const IconData rss_feed_rounded = IconData(0xf0119, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rss_feed</i> &#x2014; material icon named "rss feed" (outlined).
  static const IconData rss_feed_outlined = IconData(0xf327, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rsvp</i> &#x2014; material icon named "rsvp".
  static const IconData rsvp = IconData(0xe545, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rsvp</i> &#x2014; material icon named "rsvp" (sharp).
  static const IconData rsvp_sharp = IconData(0xec3b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rsvp</i> &#x2014; material icon named "rsvp" (round).
  static const IconData rsvp_rounded = IconData(0xf011a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rsvp</i> &#x2014; material icon named "rsvp" (outlined).
  static const IconData rsvp_outlined = IconData(0xf328, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rtt</i> &#x2014; material icon named "rtt".
  static const IconData rtt = IconData(0xe546, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rtt</i> &#x2014; material icon named "rtt" (sharp).
  static const IconData rtt_sharp = IconData(0xec3c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rtt</i> &#x2014; material icon named "rtt" (round).
  static const IconData rtt_rounded = IconData(0xf011b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rtt</i> &#x2014; material icon named "rtt" (outlined).
  static const IconData rtt_outlined = IconData(0xf329, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rule</i> &#x2014; material icon named "rule".
  static const IconData rule = IconData(0xe547, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rule</i> &#x2014; material icon named "rule" (sharp).
  static const IconData rule_sharp = IconData(0xec3e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rule</i> &#x2014; material icon named "rule" (round).
  static const IconData rule_rounded = IconData(0xf011d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rule</i> &#x2014; material icon named "rule" (outlined).
  static const IconData rule_outlined = IconData(0xf32b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rule_folder</i> &#x2014; material icon named "rule folder".
  static const IconData rule_folder = IconData(0xe548, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rule_folder</i> &#x2014; material icon named "rule folder" (sharp).
  static const IconData rule_folder_sharp = IconData(0xec3d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rule_folder</i> &#x2014; material icon named "rule folder" (round).
  static const IconData rule_folder_rounded = IconData(0xf011c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rule_folder</i> &#x2014; material icon named "rule folder" (outlined).
  static const IconData rule_folder_outlined = IconData(0xf32a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">run_circle</i> &#x2014; material icon named "run circle".
  static const IconData run_circle = IconData(0xe549, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">run_circle</i> &#x2014; material icon named "run circle" (sharp).
  static const IconData run_circle_sharp = IconData(0xec3f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">run_circle</i> &#x2014; material icon named "run circle" (round).
  static const IconData run_circle_rounded = IconData(0xf011e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">run_circle</i> &#x2014; material icon named "run circle" (outlined).
  static const IconData run_circle_outlined = IconData(0xf32c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">running_with_errors</i> &#x2014; material icon named "running with errors".
  static const IconData running_with_errors = IconData(0xe54a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">running_with_errors</i> &#x2014; material icon named "running with errors" (sharp).
  static const IconData running_with_errors_sharp = IconData(0xec40, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">running_with_errors</i> &#x2014; material icon named "running with errors" (round).
  static const IconData running_with_errors_rounded = IconData(0xf011f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">running_with_errors</i> &#x2014; material icon named "running with errors" (outlined).
  static const IconData running_with_errors_outlined = IconData(0xf32d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rv_hookup</i> &#x2014; material icon named "rv hookup".
  static const IconData rv_hookup = IconData(0xe54b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rv_hookup</i> &#x2014; material icon named "rv hookup" (sharp).
  static const IconData rv_hookup_sharp = IconData(0xec41, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rv_hookup</i> &#x2014; material icon named "rv hookup" (round).
  static const IconData rv_hookup_rounded = IconData(0xf0120, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rv_hookup</i> &#x2014; material icon named "rv hookup" (outlined).
  static const IconData rv_hookup_outlined = IconData(0xf32e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">safety_check</i> &#x2014; material icon named "safety check".
  static const IconData safety_check = IconData(0xf07be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">safety_check</i> &#x2014; material icon named "safety check" (sharp).
  static const IconData safety_check_sharp = IconData(0xf0766, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">safety_check</i> &#x2014; material icon named "safety check" (round).
  static const IconData safety_check_rounded = IconData(0xf0816, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">safety_check</i> &#x2014; material icon named "safety check" (outlined).
  static const IconData safety_check_outlined = IconData(0xf070e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">safety_divider</i> &#x2014; material icon named "safety divider".
  static const IconData safety_divider = IconData(0xe54c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">safety_divider</i> &#x2014; material icon named "safety divider" (sharp).
  static const IconData safety_divider_sharp = IconData(0xec42, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">safety_divider</i> &#x2014; material icon named "safety divider" (round).
  static const IconData safety_divider_rounded = IconData(0xf0121, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">safety_divider</i> &#x2014; material icon named "safety divider" (outlined).
  static const IconData safety_divider_outlined = IconData(0xf32f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sailing</i> &#x2014; material icon named "sailing".
  static const IconData sailing = IconData(0xe54d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sailing</i> &#x2014; material icon named "sailing" (sharp).
  static const IconData sailing_sharp = IconData(0xec43, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sailing</i> &#x2014; material icon named "sailing" (round).
  static const IconData sailing_rounded = IconData(0xf0122, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sailing</i> &#x2014; material icon named "sailing" (outlined).
  static const IconData sailing_outlined = IconData(0xf330, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sanitizer</i> &#x2014; material icon named "sanitizer".
  static const IconData sanitizer = IconData(0xe54e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sanitizer</i> &#x2014; material icon named "sanitizer" (sharp).
  static const IconData sanitizer_sharp = IconData(0xec44, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sanitizer</i> &#x2014; material icon named "sanitizer" (round).
  static const IconData sanitizer_rounded = IconData(0xf0123, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sanitizer</i> &#x2014; material icon named "sanitizer" (outlined).
  static const IconData sanitizer_outlined = IconData(0xf331, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">satellite</i> &#x2014; material icon named "satellite".
  static const IconData satellite = IconData(0xe54f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">satellite</i> &#x2014; material icon named "satellite" (sharp).
  static const IconData satellite_sharp = IconData(0xec45, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">satellite</i> &#x2014; material icon named "satellite" (round).
  static const IconData satellite_rounded = IconData(0xf0124, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">satellite</i> &#x2014; material icon named "satellite" (outlined).
  static const IconData satellite_outlined = IconData(0xf332, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">satellite_alt</i> &#x2014; material icon named "satellite alt".
  static const IconData satellite_alt = IconData(0xf0562, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">satellite_alt</i> &#x2014; material icon named "satellite alt" (sharp).
  static const IconData satellite_alt_sharp = IconData(0xf046b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">satellite_alt</i> &#x2014; material icon named "satellite alt" (round).
  static const IconData satellite_alt_rounded = IconData(0xf0378, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">satellite_alt</i> &#x2014; material icon named "satellite alt" (outlined).
  static const IconData satellite_alt_outlined = IconData(0xf0659, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">save</i> &#x2014; material icon named "save".
  static const IconData save = IconData(0xe550, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">save</i> &#x2014; material icon named "save" (sharp).
  static const IconData save_sharp = IconData(0xec47, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">save</i> &#x2014; material icon named "save" (round).
  static const IconData save_rounded = IconData(0xf0126, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">save</i> &#x2014; material icon named "save" (outlined).
  static const IconData save_outlined = IconData(0xf334, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">save_alt</i> &#x2014; material icon named "save alt".
  static const IconData save_alt = IconData(0xe551, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">save_alt</i> &#x2014; material icon named "save alt" (sharp).
  static const IconData save_alt_sharp = IconData(0xec46, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">save_alt</i> &#x2014; material icon named "save alt" (round).
  static const IconData save_alt_rounded = IconData(0xf0125, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">save_alt</i> &#x2014; material icon named "save alt" (outlined).
  static const IconData save_alt_outlined = IconData(0xf333, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">save_as</i> &#x2014; material icon named "save as".
  static const IconData save_as = IconData(0xf0563, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">save_as</i> &#x2014; material icon named "save as" (sharp).
  static const IconData save_as_sharp = IconData(0xf046c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">save_as</i> &#x2014; material icon named "save as" (round).
  static const IconData save_as_rounded = IconData(0xf0379, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">save_as</i> &#x2014; material icon named "save as" (outlined).
  static const IconData save_as_outlined = IconData(0xf065a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">saved_search</i> &#x2014; material icon named "saved search".
  static const IconData saved_search = IconData(0xe552, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">saved_search</i> &#x2014; material icon named "saved search" (sharp).
  static const IconData saved_search_sharp = IconData(0xec48, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">saved_search</i> &#x2014; material icon named "saved search" (round).
  static const IconData saved_search_rounded = IconData(0xf0127, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">saved_search</i> &#x2014; material icon named "saved search" (outlined).
  static const IconData saved_search_outlined = IconData(0xf335, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">savings</i> &#x2014; material icon named "savings".
  static const IconData savings = IconData(0xe553, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">savings</i> &#x2014; material icon named "savings" (sharp).
  static const IconData savings_sharp = IconData(0xec49, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">savings</i> &#x2014; material icon named "savings" (round).
  static const IconData savings_rounded = IconData(0xf0128, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">savings</i> &#x2014; material icon named "savings" (outlined).
  static const IconData savings_outlined = IconData(0xf336, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">scale</i> &#x2014; material icon named "scale".
  static const IconData scale = IconData(0xf0564, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">scale</i> &#x2014; material icon named "scale" (sharp).
  static const IconData scale_sharp = IconData(0xf046d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">scale</i> &#x2014; material icon named "scale" (round).
  static const IconData scale_rounded = IconData(0xf037a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">scale</i> &#x2014; material icon named "scale" (outlined).
  static const IconData scale_outlined = IconData(0xf065b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">scanner</i> &#x2014; material icon named "scanner".
  static const IconData scanner = IconData(0xe554, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">scanner</i> &#x2014; material icon named "scanner" (sharp).
  static const IconData scanner_sharp = IconData(0xec4a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">scanner</i> &#x2014; material icon named "scanner" (round).
  static const IconData scanner_rounded = IconData(0xf0129, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">scanner</i> &#x2014; material icon named "scanner" (outlined).
  static const IconData scanner_outlined = IconData(0xf337, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">scatter_plot</i> &#x2014; material icon named "scatter plot".
  static const IconData scatter_plot = IconData(0xe555, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">scatter_plot</i> &#x2014; material icon named "scatter plot" (sharp).
  static const IconData scatter_plot_sharp = IconData(0xec4b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">scatter_plot</i> &#x2014; material icon named "scatter plot" (round).
  static const IconData scatter_plot_rounded = IconData(0xf012a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">scatter_plot</i> &#x2014; material icon named "scatter plot" (outlined).
  static const IconData scatter_plot_outlined = IconData(0xf338, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">schedule</i> &#x2014; material icon named "schedule".
  static const IconData schedule = IconData(0xe556, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">schedule</i> &#x2014; material icon named "schedule" (sharp).
  static const IconData schedule_sharp = IconData(0xec4d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">schedule</i> &#x2014; material icon named "schedule" (round).
  static const IconData schedule_rounded = IconData(0xf012b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">schedule</i> &#x2014; material icon named "schedule" (outlined).
  static const IconData schedule_outlined = IconData(0xf339, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">schedule_send</i> &#x2014; material icon named "schedule send".
  static const IconData schedule_send = IconData(0xe557, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">schedule_send</i> &#x2014; material icon named "schedule send" (sharp).
  static const IconData schedule_send_sharp = IconData(0xec4c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">schedule_send</i> &#x2014; material icon named "schedule send" (round).
  static const IconData schedule_send_rounded = IconData(0xf012c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">schedule_send</i> &#x2014; material icon named "schedule send" (outlined).
  static const IconData schedule_send_outlined = IconData(0xf33a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">schema</i> &#x2014; material icon named "schema".
  static const IconData schema = IconData(0xe558, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">schema</i> &#x2014; material icon named "schema" (sharp).
  static const IconData schema_sharp = IconData(0xec4e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">schema</i> &#x2014; material icon named "schema" (round).
  static const IconData schema_rounded = IconData(0xf012d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">schema</i> &#x2014; material icon named "schema" (outlined).
  static const IconData schema_outlined = IconData(0xf33b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">school</i> &#x2014; material icon named "school".
  static const IconData school = IconData(0xe559, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">school</i> &#x2014; material icon named "school" (sharp).
  static const IconData school_sharp = IconData(0xec4f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">school</i> &#x2014; material icon named "school" (round).
  static const IconData school_rounded = IconData(0xf012e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">school</i> &#x2014; material icon named "school" (outlined).
  static const IconData school_outlined = IconData(0xf33c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">science</i> &#x2014; material icon named "science".
  static const IconData science = IconData(0xe55a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">science</i> &#x2014; material icon named "science" (sharp).
  static const IconData science_sharp = IconData(0xec50, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">science</i> &#x2014; material icon named "science" (round).
  static const IconData science_rounded = IconData(0xf012f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">science</i> &#x2014; material icon named "science" (outlined).
  static const IconData science_outlined = IconData(0xf33d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">score</i> &#x2014; material icon named "score".
  static const IconData score = IconData(0xe55b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">score</i> &#x2014; material icon named "score" (sharp).
  static const IconData score_sharp = IconData(0xec51, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">score</i> &#x2014; material icon named "score" (round).
  static const IconData score_rounded = IconData(0xf0130, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">score</i> &#x2014; material icon named "score" (outlined).
  static const IconData score_outlined = IconData(0xf33e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">scoreboard</i> &#x2014; material icon named "scoreboard".
  static const IconData scoreboard = IconData(0xf06c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">scoreboard</i> &#x2014; material icon named "scoreboard" (sharp).
  static const IconData scoreboard_sharp = IconData(0xf06b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">scoreboard</i> &#x2014; material icon named "scoreboard" (round).
  static const IconData scoreboard_rounded = IconData(0xf06ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">scoreboard</i> &#x2014; material icon named "scoreboard" (outlined).
  static const IconData scoreboard_outlined = IconData(0xf06a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">screen_lock_landscape</i> &#x2014; material icon named "screen lock landscape".
  static const IconData screen_lock_landscape = IconData(0xe55c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">screen_lock_landscape</i> &#x2014; material icon named "screen lock landscape" (sharp).
  static const IconData screen_lock_landscape_sharp = IconData(0xec52, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">screen_lock_landscape</i> &#x2014; material icon named "screen lock landscape" (round).
  static const IconData screen_lock_landscape_rounded = IconData(0xf0131, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">screen_lock_landscape</i> &#x2014; material icon named "screen lock landscape" (outlined).
  static const IconData screen_lock_landscape_outlined = IconData(0xf33f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">screen_lock_portrait</i> &#x2014; material icon named "screen lock portrait".
  static const IconData screen_lock_portrait = IconData(0xe55d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">screen_lock_portrait</i> &#x2014; material icon named "screen lock portrait" (sharp).
  static const IconData screen_lock_portrait_sharp = IconData(0xec53, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">screen_lock_portrait</i> &#x2014; material icon named "screen lock portrait" (round).
  static const IconData screen_lock_portrait_rounded = IconData(0xf0132, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">screen_lock_portrait</i> &#x2014; material icon named "screen lock portrait" (outlined).
  static const IconData screen_lock_portrait_outlined = IconData(0xf340, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">screen_lock_rotation</i> &#x2014; material icon named "screen lock rotation".
  static const IconData screen_lock_rotation = IconData(0xe55e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">screen_lock_rotation</i> &#x2014; material icon named "screen lock rotation" (sharp).
  static const IconData screen_lock_rotation_sharp = IconData(0xec54, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">screen_lock_rotation</i> &#x2014; material icon named "screen lock rotation" (round).
  static const IconData screen_lock_rotation_rounded = IconData(0xf0133, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">screen_lock_rotation</i> &#x2014; material icon named "screen lock rotation" (outlined).
  static const IconData screen_lock_rotation_outlined = IconData(0xf341, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">screen_rotation</i> &#x2014; material icon named "screen rotation".
  static const IconData screen_rotation = IconData(0xe55f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">screen_rotation</i> &#x2014; material icon named "screen rotation" (sharp).
  static const IconData screen_rotation_sharp = IconData(0xec55, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">screen_rotation</i> &#x2014; material icon named "screen rotation" (round).
  static const IconData screen_rotation_rounded = IconData(0xf0134, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">screen_rotation</i> &#x2014; material icon named "screen rotation" (outlined).
  static const IconData screen_rotation_outlined = IconData(0xf342, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">screen_rotation_alt</i> &#x2014; material icon named "screen rotation alt".
  static const IconData screen_rotation_alt = IconData(0xf07bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">screen_rotation_alt</i> &#x2014; material icon named "screen rotation alt" (sharp).
  static const IconData screen_rotation_alt_sharp = IconData(0xf0767, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">screen_rotation_alt</i> &#x2014; material icon named "screen rotation alt" (round).
  static const IconData screen_rotation_alt_rounded = IconData(0xf0817, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">screen_rotation_alt</i> &#x2014; material icon named "screen rotation alt" (outlined).
  static const IconData screen_rotation_alt_outlined = IconData(0xf070f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">screen_search_desktop</i> &#x2014; material icon named "screen search desktop".
  static const IconData screen_search_desktop = IconData(0xe560, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">screen_search_desktop</i> &#x2014; material icon named "screen search desktop" (sharp).
  static const IconData screen_search_desktop_sharp = IconData(0xec56, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">screen_search_desktop</i> &#x2014; material icon named "screen search desktop" (round).
  static const IconData screen_search_desktop_rounded = IconData(0xf0135, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">screen_search_desktop</i> &#x2014; material icon named "screen search desktop" (outlined).
  static const IconData screen_search_desktop_outlined = IconData(0xf343, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">screen_share</i> &#x2014; material icon named "screen share".
  static const IconData screen_share = IconData(0xe561, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">screen_share</i> &#x2014; material icon named "screen share" (sharp).
  static const IconData screen_share_sharp = IconData(0xec57, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">screen_share</i> &#x2014; material icon named "screen share" (round).
  static const IconData screen_share_rounded = IconData(0xf0136, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">screen_share</i> &#x2014; material icon named "screen share" (outlined).
  static const IconData screen_share_outlined = IconData(0xf344, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">screenshot</i> &#x2014; material icon named "screenshot".
  static const IconData screenshot = IconData(0xe562, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">screenshot</i> &#x2014; material icon named "screenshot" (sharp).
  static const IconData screenshot_sharp = IconData(0xec58, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">screenshot</i> &#x2014; material icon named "screenshot" (round).
  static const IconData screenshot_rounded = IconData(0xf0137, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">screenshot</i> &#x2014; material icon named "screenshot" (outlined).
  static const IconData screenshot_outlined = IconData(0xf345, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">screenshot_monitor</i> &#x2014; material icon named "screenshot monitor".
  static const IconData screenshot_monitor = IconData(0xf07c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">screenshot_monitor</i> &#x2014; material icon named "screenshot monitor" (sharp).
  static const IconData screenshot_monitor_sharp = IconData(0xf0768, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">screenshot_monitor</i> &#x2014; material icon named "screenshot monitor" (round).
  static const IconData screenshot_monitor_rounded = IconData(0xf0818, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">screenshot_monitor</i> &#x2014; material icon named "screenshot monitor" (outlined).
  static const IconData screenshot_monitor_outlined = IconData(0xf0710, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">scuba_diving</i> &#x2014; material icon named "scuba diving".
  static const IconData scuba_diving = IconData(0xf06c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">scuba_diving</i> &#x2014; material icon named "scuba diving" (sharp).
  static const IconData scuba_diving_sharp = IconData(0xf06b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">scuba_diving</i> &#x2014; material icon named "scuba diving" (round).
  static const IconData scuba_diving_rounded = IconData(0xf06cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">scuba_diving</i> &#x2014; material icon named "scuba diving" (outlined).
  static const IconData scuba_diving_outlined = IconData(0xf06a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sd</i> &#x2014; material icon named "sd".
  static const IconData sd = IconData(0xe563, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sd</i> &#x2014; material icon named "sd" (sharp).
  static const IconData sd_sharp = IconData(0xec5b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sd</i> &#x2014; material icon named "sd" (round).
  static const IconData sd_rounded = IconData(0xf013a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sd</i> &#x2014; material icon named "sd" (outlined).
  static const IconData sd_outlined = IconData(0xf348, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sd_card</i> &#x2014; material icon named "sd card".
  static const IconData sd_card = IconData(0xe564, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sd_card</i> &#x2014; material icon named "sd card" (sharp).
  static const IconData sd_card_sharp = IconData(0xec5a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sd_card</i> &#x2014; material icon named "sd card" (round).
  static const IconData sd_card_rounded = IconData(0xf0139, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sd_card</i> &#x2014; material icon named "sd card" (outlined).
  static const IconData sd_card_outlined = IconData(0xf347, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sd_card_alert</i> &#x2014; material icon named "sd card alert".
  static const IconData sd_card_alert = IconData(0xe565, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sd_card_alert</i> &#x2014; material icon named "sd card alert" (sharp).
  static const IconData sd_card_alert_sharp = IconData(0xec59, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sd_card_alert</i> &#x2014; material icon named "sd card alert" (round).
  static const IconData sd_card_alert_rounded = IconData(0xf0138, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sd_card_alert</i> &#x2014; material icon named "sd card alert" (outlined).
  static const IconData sd_card_alert_outlined = IconData(0xf346, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sd_storage</i> &#x2014; material icon named "sd storage".
  static const IconData sd_storage = IconData(0xe566, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sd_storage</i> &#x2014; material icon named "sd storage" (sharp).
  static const IconData sd_storage_sharp = IconData(0xec5c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sd_storage</i> &#x2014; material icon named "sd storage" (round).
  static const IconData sd_storage_rounded = IconData(0xf013b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sd_storage</i> &#x2014; material icon named "sd storage" (outlined).
  static const IconData sd_storage_outlined = IconData(0xf349, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">search</i> &#x2014; material icon named "search".
  static const IconData search = IconData(0xe567, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">search</i> &#x2014; material icon named "search" (sharp).
  static const IconData search_sharp = IconData(0xec5e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">search</i> &#x2014; material icon named "search" (round).
  static const IconData search_rounded = IconData(0xf013d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">search</i> &#x2014; material icon named "search" (outlined).
  static const IconData search_outlined = IconData(0xf34b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">search_off</i> &#x2014; material icon named "search off".
  static const IconData search_off = IconData(0xe568, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">search_off</i> &#x2014; material icon named "search off" (sharp).
  static const IconData search_off_sharp = IconData(0xec5d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">search_off</i> &#x2014; material icon named "search off" (round).
  static const IconData search_off_rounded = IconData(0xf013c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">search_off</i> &#x2014; material icon named "search off" (outlined).
  static const IconData search_off_outlined = IconData(0xf34a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">security</i> &#x2014; material icon named "security".
  static const IconData security = IconData(0xe569, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">security</i> &#x2014; material icon named "security" (sharp).
  static const IconData security_sharp = IconData(0xec5f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">security</i> &#x2014; material icon named "security" (round).
  static const IconData security_rounded = IconData(0xf013e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">security</i> &#x2014; material icon named "security" (outlined).
  static const IconData security_outlined = IconData(0xf34c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">security_update</i> &#x2014; material icon named "security update".
  static const IconData security_update = IconData(0xe56a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">security_update</i> &#x2014; material icon named "security update" (sharp).
  static const IconData security_update_sharp = IconData(0xec61, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">security_update</i> &#x2014; material icon named "security update" (round).
  static const IconData security_update_rounded = IconData(0xf0140, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">security_update</i> &#x2014; material icon named "security update" (outlined).
  static const IconData security_update_outlined = IconData(0xf34e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">security_update_good</i> &#x2014; material icon named "security update good".
  static const IconData security_update_good = IconData(0xe56b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">security_update_good</i> &#x2014; material icon named "security update good" (sharp).
  static const IconData security_update_good_sharp = IconData(0xec60, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">security_update_good</i> &#x2014; material icon named "security update good" (round).
  static const IconData security_update_good_rounded = IconData(0xf013f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">security_update_good</i> &#x2014; material icon named "security update good" (outlined).
  static const IconData security_update_good_outlined = IconData(0xf34d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">security_update_warning</i> &#x2014; material icon named "security update warning".
  static const IconData security_update_warning = IconData(0xe56c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">security_update_warning</i> &#x2014; material icon named "security update warning" (sharp).
  static const IconData security_update_warning_sharp = IconData(0xec62, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">security_update_warning</i> &#x2014; material icon named "security update warning" (round).
  static const IconData security_update_warning_rounded = IconData(0xf0141, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">security_update_warning</i> &#x2014; material icon named "security update warning" (outlined).
  static const IconData security_update_warning_outlined = IconData(0xf34f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">segment</i> &#x2014; material icon named "segment".
  static const IconData segment = IconData(0xe56d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">segment</i> &#x2014; material icon named "segment" (sharp).
  static const IconData segment_sharp = IconData(0xec63, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">segment</i> &#x2014; material icon named "segment" (round).
  static const IconData segment_rounded = IconData(0xf0142, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">segment</i> &#x2014; material icon named "segment" (outlined).
  static const IconData segment_outlined = IconData(0xf350, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">select_all</i> &#x2014; material icon named "select all".
  static const IconData select_all = IconData(0xe56e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">select_all</i> &#x2014; material icon named "select all" (sharp).
  static const IconData select_all_sharp = IconData(0xec64, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">select_all</i> &#x2014; material icon named "select all" (round).
  static const IconData select_all_rounded = IconData(0xf0143, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">select_all</i> &#x2014; material icon named "select all" (outlined).
  static const IconData select_all_outlined = IconData(0xf351, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">self_improvement</i> &#x2014; material icon named "self improvement".
  static const IconData self_improvement = IconData(0xe56f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">self_improvement</i> &#x2014; material icon named "self improvement" (sharp).
  static const IconData self_improvement_sharp = IconData(0xec65, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">self_improvement</i> &#x2014; material icon named "self improvement" (round).
  static const IconData self_improvement_rounded = IconData(0xf0144, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">self_improvement</i> &#x2014; material icon named "self improvement" (outlined).
  static const IconData self_improvement_outlined = IconData(0xf352, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sell</i> &#x2014; material icon named "sell".
  static const IconData sell = IconData(0xe570, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sell</i> &#x2014; material icon named "sell" (sharp).
  static const IconData sell_sharp = IconData(0xec66, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sell</i> &#x2014; material icon named "sell" (round).
  static const IconData sell_rounded = IconData(0xf0145, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sell</i> &#x2014; material icon named "sell" (outlined).
  static const IconData sell_outlined = IconData(0xf353, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">send</i> &#x2014; material icon named "send".
  static const IconData send = IconData(0xe571, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">send</i> &#x2014; material icon named "send" (sharp).
  static const IconData send_sharp = IconData(0xec68, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">send</i> &#x2014; material icon named "send" (round).
  static const IconData send_rounded = IconData(0xf0147, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">send</i> &#x2014; material icon named "send" (outlined).
  static const IconData send_outlined = IconData(0xf355, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">send_and_archive</i> &#x2014; material icon named "send and archive".
  static const IconData send_and_archive = IconData(0xe572, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">send_and_archive</i> &#x2014; material icon named "send and archive" (sharp).
  static const IconData send_and_archive_sharp = IconData(0xec67, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">send_and_archive</i> &#x2014; material icon named "send and archive" (round).
  static const IconData send_and_archive_rounded = IconData(0xf0146, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">send_and_archive</i> &#x2014; material icon named "send and archive" (outlined).
  static const IconData send_and_archive_outlined = IconData(0xf354, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">send_time_extension</i> &#x2014; material icon named "send time extension".
  static const IconData send_time_extension = IconData(0xf0565, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">send_time_extension</i> &#x2014; material icon named "send time extension" (sharp).
  static const IconData send_time_extension_sharp = IconData(0xf046e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">send_time_extension</i> &#x2014; material icon named "send time extension" (round).
  static const IconData send_time_extension_rounded = IconData(0xf037b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">send_time_extension</i> &#x2014; material icon named "send time extension" (outlined).
  static const IconData send_time_extension_outlined = IconData(0xf065c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">send_to_mobile</i> &#x2014; material icon named "send to mobile".
  static const IconData send_to_mobile = IconData(0xe573, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">send_to_mobile</i> &#x2014; material icon named "send to mobile" (sharp).
  static const IconData send_to_mobile_sharp = IconData(0xec69, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">send_to_mobile</i> &#x2014; material icon named "send to mobile" (round).
  static const IconData send_to_mobile_rounded = IconData(0xf0148, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">send_to_mobile</i> &#x2014; material icon named "send to mobile" (outlined).
  static const IconData send_to_mobile_outlined = IconData(0xf356, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sensor_door</i> &#x2014; material icon named "sensor door".
  static const IconData sensor_door = IconData(0xe574, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sensor_door</i> &#x2014; material icon named "sensor door" (sharp).
  static const IconData sensor_door_sharp = IconData(0xec6a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sensor_door</i> &#x2014; material icon named "sensor door" (round).
  static const IconData sensor_door_rounded = IconData(0xf0149, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sensor_door</i> &#x2014; material icon named "sensor door" (outlined).
  static const IconData sensor_door_outlined = IconData(0xf357, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sensor_occupied</i> &#x2014; material icon named "sensor occupied".
  static const IconData sensor_occupied = IconData(0xf07c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sensor_occupied</i> &#x2014; material icon named "sensor occupied" (sharp).
  static const IconData sensor_occupied_sharp = IconData(0xf0769, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sensor_occupied</i> &#x2014; material icon named "sensor occupied" (round).
  static const IconData sensor_occupied_rounded = IconData(0xf0819, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sensor_occupied</i> &#x2014; material icon named "sensor occupied" (outlined).
  static const IconData sensor_occupied_outlined = IconData(0xf0711, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sensor_window</i> &#x2014; material icon named "sensor window".
  static const IconData sensor_window = IconData(0xe575, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sensor_window</i> &#x2014; material icon named "sensor window" (sharp).
  static const IconData sensor_window_sharp = IconData(0xec6b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sensor_window</i> &#x2014; material icon named "sensor window" (round).
  static const IconData sensor_window_rounded = IconData(0xf014a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sensor_window</i> &#x2014; material icon named "sensor window" (outlined).
  static const IconData sensor_window_outlined = IconData(0xf358, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sensors</i> &#x2014; material icon named "sensors".
  static const IconData sensors = IconData(0xe576, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sensors</i> &#x2014; material icon named "sensors" (sharp).
  static const IconData sensors_sharp = IconData(0xec6d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sensors</i> &#x2014; material icon named "sensors" (round).
  static const IconData sensors_rounded = IconData(0xf014c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sensors</i> &#x2014; material icon named "sensors" (outlined).
  static const IconData sensors_outlined = IconData(0xf35a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sensors_off</i> &#x2014; material icon named "sensors off".
  static const IconData sensors_off = IconData(0xe577, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sensors_off</i> &#x2014; material icon named "sensors off" (sharp).
  static const IconData sensors_off_sharp = IconData(0xec6c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sensors_off</i> &#x2014; material icon named "sensors off" (round).
  static const IconData sensors_off_rounded = IconData(0xf014b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sensors_off</i> &#x2014; material icon named "sensors off" (outlined).
  static const IconData sensors_off_outlined = IconData(0xf359, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sentiment_dissatisfied</i> &#x2014; material icon named "sentiment dissatisfied".
  static const IconData sentiment_dissatisfied = IconData(0xe578, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sentiment_dissatisfied</i> &#x2014; material icon named "sentiment dissatisfied" (sharp).
  static const IconData sentiment_dissatisfied_sharp = IconData(0xec6e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sentiment_dissatisfied</i> &#x2014; material icon named "sentiment dissatisfied" (round).
  static const IconData sentiment_dissatisfied_rounded = IconData(0xf014d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sentiment_dissatisfied</i> &#x2014; material icon named "sentiment dissatisfied" (outlined).
  static const IconData sentiment_dissatisfied_outlined = IconData(0xf35b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sentiment_neutral</i> &#x2014; material icon named "sentiment neutral".
  static const IconData sentiment_neutral = IconData(0xe579, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sentiment_neutral</i> &#x2014; material icon named "sentiment neutral" (sharp).
  static const IconData sentiment_neutral_sharp = IconData(0xec6f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sentiment_neutral</i> &#x2014; material icon named "sentiment neutral" (round).
  static const IconData sentiment_neutral_rounded = IconData(0xf014e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sentiment_neutral</i> &#x2014; material icon named "sentiment neutral" (outlined).
  static const IconData sentiment_neutral_outlined = IconData(0xf35c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sentiment_satisfied</i> &#x2014; material icon named "sentiment satisfied".
  static const IconData sentiment_satisfied = IconData(0xe57a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sentiment_satisfied</i> &#x2014; material icon named "sentiment satisfied" (sharp).
  static const IconData sentiment_satisfied_sharp = IconData(0xec71, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sentiment_satisfied</i> &#x2014; material icon named "sentiment satisfied" (round).
  static const IconData sentiment_satisfied_rounded = IconData(0xf0150, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sentiment_satisfied</i> &#x2014; material icon named "sentiment satisfied" (outlined).
  static const IconData sentiment_satisfied_outlined = IconData(0xf35e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sentiment_satisfied_alt</i> &#x2014; material icon named "sentiment satisfied alt".
  static const IconData sentiment_satisfied_alt = IconData(0xe57b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sentiment_satisfied_alt</i> &#x2014; material icon named "sentiment satisfied alt" (sharp).
  static const IconData sentiment_satisfied_alt_sharp = IconData(0xec70, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sentiment_satisfied_alt</i> &#x2014; material icon named "sentiment satisfied alt" (round).
  static const IconData sentiment_satisfied_alt_rounded = IconData(0xf014f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sentiment_satisfied_alt</i> &#x2014; material icon named "sentiment satisfied alt" (outlined).
  static const IconData sentiment_satisfied_alt_outlined = IconData(0xf35d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sentiment_very_dissatisfied</i> &#x2014; material icon named "sentiment very dissatisfied".
  static const IconData sentiment_very_dissatisfied = IconData(0xe57c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sentiment_very_dissatisfied</i> &#x2014; material icon named "sentiment very dissatisfied" (sharp).
  static const IconData sentiment_very_dissatisfied_sharp = IconData(0xec72, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sentiment_very_dissatisfied</i> &#x2014; material icon named "sentiment very dissatisfied" (round).
  static const IconData sentiment_very_dissatisfied_rounded = IconData(0xf0151, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sentiment_very_dissatisfied</i> &#x2014; material icon named "sentiment very dissatisfied" (outlined).
  static const IconData sentiment_very_dissatisfied_outlined = IconData(0xf35f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sentiment_very_satisfied</i> &#x2014; material icon named "sentiment very satisfied".
  static const IconData sentiment_very_satisfied = IconData(0xe57d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sentiment_very_satisfied</i> &#x2014; material icon named "sentiment very satisfied" (sharp).
  static const IconData sentiment_very_satisfied_sharp = IconData(0xec73, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sentiment_very_satisfied</i> &#x2014; material icon named "sentiment very satisfied" (round).
  static const IconData sentiment_very_satisfied_rounded = IconData(0xf0152, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sentiment_very_satisfied</i> &#x2014; material icon named "sentiment very satisfied" (outlined).
  static const IconData sentiment_very_satisfied_outlined = IconData(0xf360, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">set_meal</i> &#x2014; material icon named "set meal".
  static const IconData set_meal = IconData(0xe57e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">set_meal</i> &#x2014; material icon named "set meal" (sharp).
  static const IconData set_meal_sharp = IconData(0xec74, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">set_meal</i> &#x2014; material icon named "set meal" (round).
  static const IconData set_meal_rounded = IconData(0xf0153, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">set_meal</i> &#x2014; material icon named "set meal" (outlined).
  static const IconData set_meal_outlined = IconData(0xf361, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings</i> &#x2014; material icon named "settings".
  static const IconData settings = IconData(0xe57f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings</i> &#x2014; material icon named "settings" (sharp).
  static const IconData settings_sharp = IconData(0xec85, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings</i> &#x2014; material icon named "settings" (round).
  static const IconData settings_rounded = IconData(0xf0164, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings</i> &#x2014; material icon named "settings" (outlined).
  static const IconData settings_outlined = IconData(0xf36e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_accessibility</i> &#x2014; material icon named "settings accessibility".
  static const IconData settings_accessibility = IconData(0xe580, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_accessibility</i> &#x2014; material icon named "settings accessibility" (sharp).
  static const IconData settings_accessibility_sharp = IconData(0xec75, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_accessibility</i> &#x2014; material icon named "settings accessibility" (round).
  static const IconData settings_accessibility_rounded = IconData(0xf0154, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_accessibility</i> &#x2014; material icon named "settings accessibility" (outlined).
  static const IconData settings_accessibility_outlined = IconData(0xf362, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_applications</i> &#x2014; material icon named "settings applications".
  static const IconData settings_applications = IconData(0xe581, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_applications</i> &#x2014; material icon named "settings applications" (sharp).
  static const IconData settings_applications_sharp = IconData(0xec76, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_applications</i> &#x2014; material icon named "settings applications" (round).
  static const IconData settings_applications_rounded = IconData(0xf0155, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_applications</i> &#x2014; material icon named "settings applications" (outlined).
  static const IconData settings_applications_outlined = IconData(0xf363, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_backup_restore</i> &#x2014; material icon named "settings backup restore".
  static const IconData settings_backup_restore = IconData(0xe582, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_backup_restore</i> &#x2014; material icon named "settings backup restore" (sharp).
  static const IconData settings_backup_restore_sharp = IconData(0xec77, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_backup_restore</i> &#x2014; material icon named "settings backup restore" (round).
  static const IconData settings_backup_restore_rounded = IconData(0xf0156, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_backup_restore</i> &#x2014; material icon named "settings backup restore" (outlined).
  static const IconData settings_backup_restore_outlined = IconData(0xf364, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_bluetooth</i> &#x2014; material icon named "settings bluetooth".
  static const IconData settings_bluetooth = IconData(0xe583, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_bluetooth</i> &#x2014; material icon named "settings bluetooth" (sharp).
  static const IconData settings_bluetooth_sharp = IconData(0xec78, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_bluetooth</i> &#x2014; material icon named "settings bluetooth" (round).
  static const IconData settings_bluetooth_rounded = IconData(0xf0157, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_bluetooth</i> &#x2014; material icon named "settings bluetooth" (outlined).
  static const IconData settings_bluetooth_outlined = IconData(0xf365, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_brightness</i> &#x2014; material icon named "settings brightness".
  static const IconData settings_brightness = IconData(0xe584, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_brightness</i> &#x2014; material icon named "settings brightness" (sharp).
  static const IconData settings_brightness_sharp = IconData(0xec79, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_brightness</i> &#x2014; material icon named "settings brightness" (round).
  static const IconData settings_brightness_rounded = IconData(0xf0158, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_brightness</i> &#x2014; material icon named "settings brightness" (outlined).
  static const IconData settings_brightness_outlined = IconData(0xf366, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_cell</i> &#x2014; material icon named "settings cell".
  static const IconData settings_cell = IconData(0xe585, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_cell</i> &#x2014; material icon named "settings cell" (sharp).
  static const IconData settings_cell_sharp = IconData(0xec7a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_cell</i> &#x2014; material icon named "settings cell" (round).
  static const IconData settings_cell_rounded = IconData(0xf0159, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_cell</i> &#x2014; material icon named "settings cell" (outlined).
  static const IconData settings_cell_outlined = IconData(0xf367, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_display</i> &#x2014; material icon named "settings display".
  static const IconData settings_display = IconData(0xe584, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_display</i> &#x2014; material icon named "settings display" (sharp).
  static const IconData settings_display_sharp = IconData(0xec79, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_display</i> &#x2014; material icon named "settings display" (round).
  static const IconData settings_display_rounded = IconData(0xf0158, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_display</i> &#x2014; material icon named "settings display" (outlined).
  static const IconData settings_display_outlined = IconData(0xf366, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_ethernet</i> &#x2014; material icon named "settings ethernet".
  static const IconData settings_ethernet = IconData(0xe586, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_ethernet</i> &#x2014; material icon named "settings ethernet" (sharp).
  static const IconData settings_ethernet_sharp = IconData(0xec7b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_ethernet</i> &#x2014; material icon named "settings ethernet" (round).
  static const IconData settings_ethernet_rounded = IconData(0xf015a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_ethernet</i> &#x2014; material icon named "settings ethernet" (outlined).
  static const IconData settings_ethernet_outlined = IconData(0xf368, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_input_antenna</i> &#x2014; material icon named "settings input antenna".
  static const IconData settings_input_antenna = IconData(0xe587, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_input_antenna</i> &#x2014; material icon named "settings input antenna" (sharp).
  static const IconData settings_input_antenna_sharp = IconData(0xec7c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_input_antenna</i> &#x2014; material icon named "settings input antenna" (round).
  static const IconData settings_input_antenna_rounded = IconData(0xf015b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_input_antenna</i> &#x2014; material icon named "settings input antenna" (outlined).
  static const IconData settings_input_antenna_outlined = IconData(0xf369, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_input_component</i> &#x2014; material icon named "settings input component".
  static const IconData settings_input_component = IconData(0xe588, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_input_component</i> &#x2014; material icon named "settings input component" (sharp).
  static const IconData settings_input_component_sharp = IconData(0xec7d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_input_component</i> &#x2014; material icon named "settings input component" (round).
  static const IconData settings_input_component_rounded = IconData(0xf015c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_input_component</i> &#x2014; material icon named "settings input component" (outlined).
  static const IconData settings_input_component_outlined = IconData(0xf36a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_input_composite</i> &#x2014; material icon named "settings input composite".
  static const IconData settings_input_composite = IconData(0xe589, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_input_composite</i> &#x2014; material icon named "settings input composite" (sharp).
  static const IconData settings_input_composite_sharp = IconData(0xec7e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_input_composite</i> &#x2014; material icon named "settings input composite" (round).
  static const IconData settings_input_composite_rounded = IconData(0xf015d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_input_composite</i> &#x2014; material icon named "settings input composite" (outlined).
  static const IconData settings_input_composite_outlined = IconData(0xf36b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_input_hdmi</i> &#x2014; material icon named "settings input hdmi".
  static const IconData settings_input_hdmi = IconData(0xe58a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_input_hdmi</i> &#x2014; material icon named "settings input hdmi" (sharp).
  static const IconData settings_input_hdmi_sharp = IconData(0xec7f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_input_hdmi</i> &#x2014; material icon named "settings input hdmi" (round).
  static const IconData settings_input_hdmi_rounded = IconData(0xf015e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_input_hdmi</i> &#x2014; material icon named "settings input hdmi" (outlined).
  static const IconData settings_input_hdmi_outlined = IconData(0xf36c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_input_svideo</i> &#x2014; material icon named "settings input svideo".
  static const IconData settings_input_svideo = IconData(0xe58b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_input_svideo</i> &#x2014; material icon named "settings input svideo" (sharp).
  static const IconData settings_input_svideo_sharp = IconData(0xec80, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_input_svideo</i> &#x2014; material icon named "settings input svideo" (round).
  static const IconData settings_input_svideo_rounded = IconData(0xf015f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_input_svideo</i> &#x2014; material icon named "settings input svideo" (outlined).
  static const IconData settings_input_svideo_outlined = IconData(0xf36d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_overscan</i> &#x2014; material icon named "settings overscan".
  static const IconData settings_overscan = IconData(0xe58c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_overscan</i> &#x2014; material icon named "settings overscan" (sharp).
  static const IconData settings_overscan_sharp = IconData(0xec81, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_overscan</i> &#x2014; material icon named "settings overscan" (round).
  static const IconData settings_overscan_rounded = IconData(0xf0160, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_overscan</i> &#x2014; material icon named "settings overscan" (outlined).
  static const IconData settings_overscan_outlined = IconData(0xf36f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_phone</i> &#x2014; material icon named "settings phone".
  static const IconData settings_phone = IconData(0xe58d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_phone</i> &#x2014; material icon named "settings phone" (sharp).
  static const IconData settings_phone_sharp = IconData(0xec82, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_phone</i> &#x2014; material icon named "settings phone" (round).
  static const IconData settings_phone_rounded = IconData(0xf0161, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_phone</i> &#x2014; material icon named "settings phone" (outlined).
  static const IconData settings_phone_outlined = IconData(0xf370, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_power</i> &#x2014; material icon named "settings power".
  static const IconData settings_power = IconData(0xe58e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_power</i> &#x2014; material icon named "settings power" (sharp).
  static const IconData settings_power_sharp = IconData(0xec83, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_power</i> &#x2014; material icon named "settings power" (round).
  static const IconData settings_power_rounded = IconData(0xf0162, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_power</i> &#x2014; material icon named "settings power" (outlined).
  static const IconData settings_power_outlined = IconData(0xf371, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_remote</i> &#x2014; material icon named "settings remote".
  static const IconData settings_remote = IconData(0xe58f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_remote</i> &#x2014; material icon named "settings remote" (sharp).
  static const IconData settings_remote_sharp = IconData(0xec84, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_remote</i> &#x2014; material icon named "settings remote" (round).
  static const IconData settings_remote_rounded = IconData(0xf0163, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_remote</i> &#x2014; material icon named "settings remote" (outlined).
  static const IconData settings_remote_outlined = IconData(0xf372, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_suggest</i> &#x2014; material icon named "settings suggest".
  static const IconData settings_suggest = IconData(0xe590, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_suggest</i> &#x2014; material icon named "settings suggest" (sharp).
  static const IconData settings_suggest_sharp = IconData(0xec86, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_suggest</i> &#x2014; material icon named "settings suggest" (round).
  static const IconData settings_suggest_rounded = IconData(0xf0165, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_suggest</i> &#x2014; material icon named "settings suggest" (outlined).
  static const IconData settings_suggest_outlined = IconData(0xf373, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_system_daydream</i> &#x2014; material icon named "settings system daydream".
  static const IconData settings_system_daydream = IconData(0xe591, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_system_daydream</i> &#x2014; material icon named "settings system daydream" (sharp).
  static const IconData settings_system_daydream_sharp = IconData(0xec87, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_system_daydream</i> &#x2014; material icon named "settings system daydream" (round).
  static const IconData settings_system_daydream_rounded = IconData(0xf0166, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_system_daydream</i> &#x2014; material icon named "settings system daydream" (outlined).
  static const IconData settings_system_daydream_outlined = IconData(0xf374, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_voice</i> &#x2014; material icon named "settings voice".
  static const IconData settings_voice = IconData(0xe592, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_voice</i> &#x2014; material icon named "settings voice" (sharp).
  static const IconData settings_voice_sharp = IconData(0xec88, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_voice</i> &#x2014; material icon named "settings voice" (round).
  static const IconData settings_voice_rounded = IconData(0xf0167, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_voice</i> &#x2014; material icon named "settings voice" (outlined).
  static const IconData settings_voice_outlined = IconData(0xf375, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">severe_cold</i> &#x2014; material icon named "severe cold".
  static const IconData severe_cold = IconData(0xf07c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">severe_cold</i> &#x2014; material icon named "severe cold" (sharp).
  static const IconData severe_cold_sharp = IconData(0xf076a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">severe_cold</i> &#x2014; material icon named "severe cold" (round).
  static const IconData severe_cold_rounded = IconData(0xf081a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">severe_cold</i> &#x2014; material icon named "severe cold" (outlined).
  static const IconData severe_cold_outlined = IconData(0xf0712, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shape_line</i> &#x2014; material icon named "shape line".
  static const IconData shape_line = IconData(0xf0876, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shape_line</i> &#x2014; material icon named "shape line" (sharp).
  static const IconData shape_line_sharp = IconData(0xf084c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shape_line</i> &#x2014; material icon named "shape line" (round).
  static const IconData shape_line_rounded = IconData(0xf0895, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shape_line</i> &#x2014; material icon named "shape line" (outlined).
  static const IconData shape_line_outlined = IconData(0xf08b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">share</i> &#x2014; material icon named "share".
  static const IconData share = IconData(0xe593, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">share</i> &#x2014; material icon named "share" (sharp).
  static const IconData share_sharp = IconData(0xec8b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">share</i> &#x2014; material icon named "share" (round).
  static const IconData share_rounded = IconData(0xf016a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">share</i> &#x2014; material icon named "share" (outlined).
  static const IconData share_outlined = IconData(0xf378, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">share_arrival_time</i> &#x2014; material icon named "share arrival time".
  static const IconData share_arrival_time = IconData(0xe594, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">share_arrival_time</i> &#x2014; material icon named "share arrival time" (sharp).
  static const IconData share_arrival_time_sharp = IconData(0xec89, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">share_arrival_time</i> &#x2014; material icon named "share arrival time" (round).
  static const IconData share_arrival_time_rounded = IconData(0xf0168, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">share_arrival_time</i> &#x2014; material icon named "share arrival time" (outlined).
  static const IconData share_arrival_time_outlined = IconData(0xf376, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">share_location</i> &#x2014; material icon named "share location".
  static const IconData share_location = IconData(0xe595, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">share_location</i> &#x2014; material icon named "share location" (sharp).
  static const IconData share_location_sharp = IconData(0xec8a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">share_location</i> &#x2014; material icon named "share location" (round).
  static const IconData share_location_rounded = IconData(0xf0169, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">share_location</i> &#x2014; material icon named "share location" (outlined).
  static const IconData share_location_outlined = IconData(0xf377, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shelves</i> &#x2014; material icon named "shelves".
  static const IconData shelves = IconData(0xf0877, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shield</i> &#x2014; material icon named "shield".
  static const IconData shield = IconData(0xe596, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shield</i> &#x2014; material icon named "shield" (sharp).
  static const IconData shield_sharp = IconData(0xec8c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shield</i> &#x2014; material icon named "shield" (round).
  static const IconData shield_rounded = IconData(0xf016b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shield</i> &#x2014; material icon named "shield" (outlined).
  static const IconData shield_outlined = IconData(0xf379, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shield_moon</i> &#x2014; material icon named "shield moon".
  static const IconData shield_moon = IconData(0xf0566, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shield_moon</i> &#x2014; material icon named "shield moon" (sharp).
  static const IconData shield_moon_sharp = IconData(0xf046f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shield_moon</i> &#x2014; material icon named "shield moon" (round).
  static const IconData shield_moon_rounded = IconData(0xf037c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shield_moon</i> &#x2014; material icon named "shield moon" (outlined).
  static const IconData shield_moon_outlined = IconData(0xf065d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shop</i> &#x2014; material icon named "shop".
  static const IconData shop = IconData(0xe597, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shop</i> &#x2014; material icon named "shop" (sharp).
  static const IconData shop_sharp = IconData(0xec8e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shop</i> &#x2014; material icon named "shop" (round).
  static const IconData shop_rounded = IconData(0xf016d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shop</i> &#x2014; material icon named "shop" (outlined).
  static const IconData shop_outlined = IconData(0xf37b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shop_2</i> &#x2014; material icon named "shop 2".
  static const IconData shop_2 = IconData(0xe598, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shop_2</i> &#x2014; material icon named "shop 2" (sharp).
  static const IconData shop_2_sharp = IconData(0xec8d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shop_2</i> &#x2014; material icon named "shop 2" (round).
  static const IconData shop_2_rounded = IconData(0xf016c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shop_2</i> &#x2014; material icon named "shop 2" (outlined).
  static const IconData shop_2_outlined = IconData(0xf37a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shop_two</i> &#x2014; material icon named "shop two".
  static const IconData shop_two = IconData(0xe599, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shop_two</i> &#x2014; material icon named "shop two" (sharp).
  static const IconData shop_two_sharp = IconData(0xec8f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shop_two</i> &#x2014; material icon named "shop two" (round).
  static const IconData shop_two_rounded = IconData(0xf016e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shop_two</i> &#x2014; material icon named "shop two" (outlined).
  static const IconData shop_two_outlined = IconData(0xf37c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shopify</i> &#x2014; material icon named "shopify".
  static const IconData shopify = IconData(0xf0567, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shopify</i> &#x2014; material icon named "shopify" (sharp).
  static const IconData shopify_sharp = IconData(0xf0470, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shopify</i> &#x2014; material icon named "shopify" (round).
  static const IconData shopify_rounded = IconData(0xf037d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shopify</i> &#x2014; material icon named "shopify" (outlined).
  static const IconData shopify_outlined = IconData(0xf065e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shopping_bag</i> &#x2014; material icon named "shopping bag".
  static const IconData shopping_bag = IconData(0xe59a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shopping_bag</i> &#x2014; material icon named "shopping bag" (sharp).
  static const IconData shopping_bag_sharp = IconData(0xec90, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shopping_bag</i> &#x2014; material icon named "shopping bag" (round).
  static const IconData shopping_bag_rounded = IconData(0xf016f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shopping_bag</i> &#x2014; material icon named "shopping bag" (outlined).
  static const IconData shopping_bag_outlined = IconData(0xf37d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shopping_basket</i> &#x2014; material icon named "shopping basket".
  static const IconData shopping_basket = IconData(0xe59b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shopping_basket</i> &#x2014; material icon named "shopping basket" (sharp).
  static const IconData shopping_basket_sharp = IconData(0xec91, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shopping_basket</i> &#x2014; material icon named "shopping basket" (round).
  static const IconData shopping_basket_rounded = IconData(0xf0170, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shopping_basket</i> &#x2014; material icon named "shopping basket" (outlined).
  static const IconData shopping_basket_outlined = IconData(0xf37e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shopping_cart</i> &#x2014; material icon named "shopping cart".
  static const IconData shopping_cart = IconData(0xe59c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shopping_cart</i> &#x2014; material icon named "shopping cart" (sharp).
  static const IconData shopping_cart_sharp = IconData(0xec92, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shopping_cart</i> &#x2014; material icon named "shopping cart" (round).
  static const IconData shopping_cart_rounded = IconData(0xf0171, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shopping_cart</i> &#x2014; material icon named "shopping cart" (outlined).
  static const IconData shopping_cart_outlined = IconData(0xf37f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shopping_cart_checkout</i> &#x2014; material icon named "shopping cart checkout".
  static const IconData shopping_cart_checkout = IconData(0xf0568, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shopping_cart_checkout</i> &#x2014; material icon named "shopping cart checkout" (sharp).
  static const IconData shopping_cart_checkout_sharp = IconData(0xf0471, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shopping_cart_checkout</i> &#x2014; material icon named "shopping cart checkout" (round).
  static const IconData shopping_cart_checkout_rounded = IconData(0xf037e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shopping_cart_checkout</i> &#x2014; material icon named "shopping cart checkout" (outlined).
  static const IconData shopping_cart_checkout_outlined = IconData(0xf065f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">short_text</i> &#x2014; material icon named "short text".
  static const IconData short_text = IconData(0xe59d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">short_text</i> &#x2014; material icon named "short text" (sharp).
  static const IconData short_text_sharp = IconData(0xec93, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">short_text</i> &#x2014; material icon named "short text" (round).
  static const IconData short_text_rounded = IconData(0xf0172, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">short_text</i> &#x2014; material icon named "short text" (outlined).
  static const IconData short_text_outlined = IconData(0xf380, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">shortcut</i> &#x2014; material icon named "shortcut".
  static const IconData shortcut = IconData(0xe59e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shortcut</i> &#x2014; material icon named "shortcut" (sharp).
  static const IconData shortcut_sharp = IconData(0xec94, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shortcut</i> &#x2014; material icon named "shortcut" (round).
  static const IconData shortcut_rounded = IconData(0xf0173, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shortcut</i> &#x2014; material icon named "shortcut" (outlined).
  static const IconData shortcut_outlined = IconData(0xf381, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">show_chart</i> &#x2014; material icon named "show chart".
  static const IconData show_chart = IconData(0xe59f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">show_chart</i> &#x2014; material icon named "show chart" (sharp).
  static const IconData show_chart_sharp = IconData(0xec95, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">show_chart</i> &#x2014; material icon named "show chart" (round).
  static const IconData show_chart_rounded = IconData(0xf0174, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">show_chart</i> &#x2014; material icon named "show chart" (outlined).
  static const IconData show_chart_outlined = IconData(0xf382, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">shower</i> &#x2014; material icon named "shower".
  static const IconData shower = IconData(0xe5a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shower</i> &#x2014; material icon named "shower" (sharp).
  static const IconData shower_sharp = IconData(0xec96, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shower</i> &#x2014; material icon named "shower" (round).
  static const IconData shower_rounded = IconData(0xf0175, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shower</i> &#x2014; material icon named "shower" (outlined).
  static const IconData shower_outlined = IconData(0xf383, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shuffle</i> &#x2014; material icon named "shuffle".
  static const IconData shuffle = IconData(0xe5a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shuffle</i> &#x2014; material icon named "shuffle" (sharp).
  static const IconData shuffle_sharp = IconData(0xec98, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shuffle</i> &#x2014; material icon named "shuffle" (round).
  static const IconData shuffle_rounded = IconData(0xf0177, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shuffle</i> &#x2014; material icon named "shuffle" (outlined).
  static const IconData shuffle_outlined = IconData(0xf385, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shuffle_on</i> &#x2014; material icon named "shuffle on".
  static const IconData shuffle_on = IconData(0xe5a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shuffle_on</i> &#x2014; material icon named "shuffle on" (sharp).
  static const IconData shuffle_on_sharp = IconData(0xec97, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shuffle_on</i> &#x2014; material icon named "shuffle on" (round).
  static const IconData shuffle_on_rounded = IconData(0xf0176, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shuffle_on</i> &#x2014; material icon named "shuffle on" (outlined).
  static const IconData shuffle_on_outlined = IconData(0xf384, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shutter_speed</i> &#x2014; material icon named "shutter speed".
  static const IconData shutter_speed = IconData(0xe5a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shutter_speed</i> &#x2014; material icon named "shutter speed" (sharp).
  static const IconData shutter_speed_sharp = IconData(0xec99, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shutter_speed</i> &#x2014; material icon named "shutter speed" (round).
  static const IconData shutter_speed_rounded = IconData(0xf0178, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shutter_speed</i> &#x2014; material icon named "shutter speed" (outlined).
  static const IconData shutter_speed_outlined = IconData(0xf386, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sick</i> &#x2014; material icon named "sick".
  static const IconData sick = IconData(0xe5a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sick</i> &#x2014; material icon named "sick" (sharp).
  static const IconData sick_sharp = IconData(0xec9a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sick</i> &#x2014; material icon named "sick" (round).
  static const IconData sick_rounded = IconData(0xf0179, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sick</i> &#x2014; material icon named "sick" (outlined).
  static const IconData sick_outlined = IconData(0xf387, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sign_language</i> &#x2014; material icon named "sign language".
  static const IconData sign_language = IconData(0xf07c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sign_language</i> &#x2014; material icon named "sign language" (sharp).
  static const IconData sign_language_sharp = IconData(0xf076b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sign_language</i> &#x2014; material icon named "sign language" (round).
  static const IconData sign_language_rounded = IconData(0xf081b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sign_language</i> &#x2014; material icon named "sign language" (outlined).
  static const IconData sign_language_outlined = IconData(0xf0713, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_0_bar</i> &#x2014; material icon named "signal cellular 0 bar".
  static const IconData signal_cellular_0_bar = IconData(0xe5a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_0_bar</i> &#x2014; material icon named "signal cellular 0 bar" (sharp).
  static const IconData signal_cellular_0_bar_sharp = IconData(0xec9b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_0_bar</i> &#x2014; material icon named "signal cellular 0 bar" (round).
  static const IconData signal_cellular_0_bar_rounded = IconData(0xf017a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_0_bar</i> &#x2014; material icon named "signal cellular 0 bar" (outlined).
  static const IconData signal_cellular_0_bar_outlined = IconData(0xf388, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_4_bar</i> &#x2014; material icon named "signal cellular 4 bar".
  static const IconData signal_cellular_4_bar = IconData(0xe5a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_4_bar</i> &#x2014; material icon named "signal cellular 4 bar" (sharp).
  static const IconData signal_cellular_4_bar_sharp = IconData(0xec9c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_4_bar</i> &#x2014; material icon named "signal cellular 4 bar" (round).
  static const IconData signal_cellular_4_bar_rounded = IconData(0xf017b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_4_bar</i> &#x2014; material icon named "signal cellular 4 bar" (outlined).
  static const IconData signal_cellular_4_bar_outlined = IconData(0xf389, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_alt</i> &#x2014; material icon named "signal cellular alt".
  static const IconData signal_cellular_alt = IconData(0xe5a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_alt</i> &#x2014; material icon named "signal cellular alt" (sharp).
  static const IconData signal_cellular_alt_sharp = IconData(0xec9d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_alt</i> &#x2014; material icon named "signal cellular alt" (round).
  static const IconData signal_cellular_alt_rounded = IconData(0xf017c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_alt</i> &#x2014; material icon named "signal cellular alt" (outlined).
  static const IconData signal_cellular_alt_outlined = IconData(0xf38a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_alt_1_bar</i> &#x2014; material icon named "signal cellular alt 1 bar".
  static const IconData signal_cellular_alt_1_bar = IconData(0xf07c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_alt_1_bar</i> &#x2014; material icon named "signal cellular alt 1 bar" (sharp).
  static const IconData signal_cellular_alt_1_bar_sharp = IconData(0xf076c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_alt_1_bar</i> &#x2014; material icon named "signal cellular alt 1 bar" (round).
  static const IconData signal_cellular_alt_1_bar_rounded = IconData(0xf081c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_alt_1_bar</i> &#x2014; material icon named "signal cellular alt 1 bar" (outlined).
  static const IconData signal_cellular_alt_1_bar_outlined = IconData(0xf0714, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_alt_2_bar</i> &#x2014; material icon named "signal cellular alt 2 bar".
  static const IconData signal_cellular_alt_2_bar = IconData(0xf07c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_alt_2_bar</i> &#x2014; material icon named "signal cellular alt 2 bar" (sharp).
  static const IconData signal_cellular_alt_2_bar_sharp = IconData(0xf076d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_alt_2_bar</i> &#x2014; material icon named "signal cellular alt 2 bar" (round).
  static const IconData signal_cellular_alt_2_bar_rounded = IconData(0xf081d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_alt_2_bar</i> &#x2014; material icon named "signal cellular alt 2 bar" (outlined).
  static const IconData signal_cellular_alt_2_bar_outlined = IconData(0xf0715, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_connected_no_internet_0_bar</i> &#x2014; material icon named "signal cellular connected no internet 0 bar".
  static const IconData signal_cellular_connected_no_internet_0_bar = IconData(0xe5a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_connected_no_internet_0_bar</i> &#x2014; material icon named "signal cellular connected no internet 0 bar" (sharp).
  static const IconData signal_cellular_connected_no_internet_0_bar_sharp = IconData(0xec9e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_connected_no_internet_0_bar</i> &#x2014; material icon named "signal cellular connected no internet 0 bar" (round).
  static const IconData signal_cellular_connected_no_internet_0_bar_rounded = IconData(0xf017d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_connected_no_internet_0_bar</i> &#x2014; material icon named "signal cellular connected no internet 0 bar" (outlined).
  static const IconData signal_cellular_connected_no_internet_0_bar_outlined = IconData(0xf38b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_connected_no_internet_4_bar</i> &#x2014; material icon named "signal cellular connected no internet 4 bar".
  static const IconData signal_cellular_connected_no_internet_4_bar = IconData(0xe5a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_connected_no_internet_4_bar</i> &#x2014; material icon named "signal cellular connected no internet 4 bar" (sharp).
  static const IconData signal_cellular_connected_no_internet_4_bar_sharp = IconData(0xec9f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_connected_no_internet_4_bar</i> &#x2014; material icon named "signal cellular connected no internet 4 bar" (round).
  static const IconData signal_cellular_connected_no_internet_4_bar_rounded = IconData(0xf017e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_connected_no_internet_4_bar</i> &#x2014; material icon named "signal cellular connected no internet 4 bar" (outlined).
  static const IconData signal_cellular_connected_no_internet_4_bar_outlined = IconData(0xf38c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_no_sim</i> &#x2014; material icon named "signal cellular no sim".
  static const IconData signal_cellular_no_sim = IconData(0xe5aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_no_sim</i> &#x2014; material icon named "signal cellular no sim" (sharp).
  static const IconData signal_cellular_no_sim_sharp = IconData(0xeca0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_no_sim</i> &#x2014; material icon named "signal cellular no sim" (round).
  static const IconData signal_cellular_no_sim_rounded = IconData(0xf017f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_no_sim</i> &#x2014; material icon named "signal cellular no sim" (outlined).
  static const IconData signal_cellular_no_sim_outlined = IconData(0xf38d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_nodata</i> &#x2014; material icon named "signal cellular nodata".
  static const IconData signal_cellular_nodata = IconData(0xe5ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_nodata</i> &#x2014; material icon named "signal cellular nodata" (sharp).
  static const IconData signal_cellular_nodata_sharp = IconData(0xeca1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_nodata</i> &#x2014; material icon named "signal cellular nodata" (round).
  static const IconData signal_cellular_nodata_rounded = IconData(0xf0180, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_nodata</i> &#x2014; material icon named "signal cellular nodata" (outlined).
  static const IconData signal_cellular_nodata_outlined = IconData(0xf38e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_null</i> &#x2014; material icon named "signal cellular null".
  static const IconData signal_cellular_null = IconData(0xe5ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_null</i> &#x2014; material icon named "signal cellular null" (sharp).
  static const IconData signal_cellular_null_sharp = IconData(0xeca2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_null</i> &#x2014; material icon named "signal cellular null" (round).
  static const IconData signal_cellular_null_rounded = IconData(0xf0181, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_null</i> &#x2014; material icon named "signal cellular null" (outlined).
  static const IconData signal_cellular_null_outlined = IconData(0xf38f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_off</i> &#x2014; material icon named "signal cellular off".
  static const IconData signal_cellular_off = IconData(0xe5ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_off</i> &#x2014; material icon named "signal cellular off" (sharp).
  static const IconData signal_cellular_off_sharp = IconData(0xeca3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_off</i> &#x2014; material icon named "signal cellular off" (round).
  static const IconData signal_cellular_off_rounded = IconData(0xf0182, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_off</i> &#x2014; material icon named "signal cellular off" (outlined).
  static const IconData signal_cellular_off_outlined = IconData(0xf390, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_wifi_0_bar</i> &#x2014; material icon named "signal wifi 0 bar".
  static const IconData signal_wifi_0_bar = IconData(0xe5ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_wifi_0_bar</i> &#x2014; material icon named "signal wifi 0 bar" (sharp).
  static const IconData signal_wifi_0_bar_sharp = IconData(0xeca4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_wifi_0_bar</i> &#x2014; material icon named "signal wifi 0 bar" (round).
  static const IconData signal_wifi_0_bar_rounded = IconData(0xf0183, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_wifi_0_bar</i> &#x2014; material icon named "signal wifi 0 bar" (outlined).
  static const IconData signal_wifi_0_bar_outlined = IconData(0xf391, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_wifi_4_bar</i> &#x2014; material icon named "signal wifi 4 bar".
  static const IconData signal_wifi_4_bar = IconData(0xe5af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_wifi_4_bar</i> &#x2014; material icon named "signal wifi 4 bar" (sharp).
  static const IconData signal_wifi_4_bar_sharp = IconData(0xeca6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_wifi_4_bar</i> &#x2014; material icon named "signal wifi 4 bar" (round).
  static const IconData signal_wifi_4_bar_rounded = IconData(0xf0185, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_wifi_4_bar</i> &#x2014; material icon named "signal wifi 4 bar" (outlined).
  static const IconData signal_wifi_4_bar_outlined = IconData(0xf393, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_wifi_4_bar_lock</i> &#x2014; material icon named "signal wifi 4 bar lock".
  static const IconData signal_wifi_4_bar_lock = IconData(0xe5b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_wifi_4_bar_lock</i> &#x2014; material icon named "signal wifi 4 bar lock" (sharp).
  static const IconData signal_wifi_4_bar_lock_sharp = IconData(0xeca5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_wifi_4_bar_lock</i> &#x2014; material icon named "signal wifi 4 bar lock" (round).
  static const IconData signal_wifi_4_bar_lock_rounded = IconData(0xf0184, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_wifi_4_bar_lock</i> &#x2014; material icon named "signal wifi 4 bar lock" (outlined).
  static const IconData signal_wifi_4_bar_lock_outlined = IconData(0xf392, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_wifi_bad</i> &#x2014; material icon named "signal wifi bad".
  static const IconData signal_wifi_bad = IconData(0xe5b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_wifi_bad</i> &#x2014; material icon named "signal wifi bad" (sharp).
  static const IconData signal_wifi_bad_sharp = IconData(0xeca7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_wifi_bad</i> &#x2014; material icon named "signal wifi bad" (round).
  static const IconData signal_wifi_bad_rounded = IconData(0xf0186, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_wifi_bad</i> &#x2014; material icon named "signal wifi bad" (outlined).
  static const IconData signal_wifi_bad_outlined = IconData(0xf394, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_wifi_connected_no_internet_4</i> &#x2014; material icon named "signal wifi connected no internet 4".
  static const IconData signal_wifi_connected_no_internet_4 = IconData(0xe5b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_wifi_connected_no_internet_4</i> &#x2014; material icon named "signal wifi connected no internet 4" (sharp).
  static const IconData signal_wifi_connected_no_internet_4_sharp = IconData(0xeca8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_wifi_connected_no_internet_4</i> &#x2014; material icon named "signal wifi connected no internet 4" (round).
  static const IconData signal_wifi_connected_no_internet_4_rounded = IconData(0xf0187, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_wifi_connected_no_internet_4</i> &#x2014; material icon named "signal wifi connected no internet 4" (outlined).
  static const IconData signal_wifi_connected_no_internet_4_outlined = IconData(0xf395, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_wifi_off</i> &#x2014; material icon named "signal wifi off".
  static const IconData signal_wifi_off = IconData(0xe5b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_wifi_off</i> &#x2014; material icon named "signal wifi off" (sharp).
  static const IconData signal_wifi_off_sharp = IconData(0xeca9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_wifi_off</i> &#x2014; material icon named "signal wifi off" (round).
  static const IconData signal_wifi_off_rounded = IconData(0xf0188, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_wifi_off</i> &#x2014; material icon named "signal wifi off" (outlined).
  static const IconData signal_wifi_off_outlined = IconData(0xf396, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_wifi_statusbar_4_bar</i> &#x2014; material icon named "signal wifi statusbar 4 bar".
  static const IconData signal_wifi_statusbar_4_bar = IconData(0xe5b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_wifi_statusbar_4_bar</i> &#x2014; material icon named "signal wifi statusbar 4 bar" (sharp).
  static const IconData signal_wifi_statusbar_4_bar_sharp = IconData(0xecaa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_wifi_statusbar_4_bar</i> &#x2014; material icon named "signal wifi statusbar 4 bar" (round).
  static const IconData signal_wifi_statusbar_4_bar_rounded = IconData(0xf0189, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_wifi_statusbar_4_bar</i> &#x2014; material icon named "signal wifi statusbar 4 bar" (outlined).
  static const IconData signal_wifi_statusbar_4_bar_outlined = IconData(0xf397, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_wifi_statusbar_connected_no_internet_4</i> &#x2014; material icon named "signal wifi statusbar connected no internet 4".
  static const IconData signal_wifi_statusbar_connected_no_internet_4 = IconData(0xe5b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_wifi_statusbar_connected_no_internet_4</i> &#x2014; material icon named "signal wifi statusbar connected no internet 4" (sharp).
  static const IconData signal_wifi_statusbar_connected_no_internet_4_sharp = IconData(0xecab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_wifi_statusbar_connected_no_internet_4</i> &#x2014; material icon named "signal wifi statusbar connected no internet 4" (round).
  static const IconData signal_wifi_statusbar_connected_no_internet_4_rounded = IconData(0xf018a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_wifi_statusbar_connected_no_internet_4</i> &#x2014; material icon named "signal wifi statusbar connected no internet 4" (outlined).
  static const IconData signal_wifi_statusbar_connected_no_internet_4_outlined = IconData(0xf398, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_wifi_statusbar_null</i> &#x2014; material icon named "signal wifi statusbar null".
  static const IconData signal_wifi_statusbar_null = IconData(0xe5b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_wifi_statusbar_null</i> &#x2014; material icon named "signal wifi statusbar null" (sharp).
  static const IconData signal_wifi_statusbar_null_sharp = IconData(0xecac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_wifi_statusbar_null</i> &#x2014; material icon named "signal wifi statusbar null" (round).
  static const IconData signal_wifi_statusbar_null_rounded = IconData(0xf018b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_wifi_statusbar_null</i> &#x2014; material icon named "signal wifi statusbar null" (outlined).
  static const IconData signal_wifi_statusbar_null_outlined = IconData(0xf399, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signpost</i> &#x2014; material icon named "signpost".
  static const IconData signpost = IconData(0xf0569, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signpost</i> &#x2014; material icon named "signpost" (sharp).
  static const IconData signpost_sharp = IconData(0xf0472, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signpost</i> &#x2014; material icon named "signpost" (round).
  static const IconData signpost_rounded = IconData(0xf037f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signpost</i> &#x2014; material icon named "signpost" (outlined).
  static const IconData signpost_outlined = IconData(0xf0660, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sim_card</i> &#x2014; material icon named "sim card".
  static const IconData sim_card = IconData(0xe5b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sim_card</i> &#x2014; material icon named "sim card" (sharp).
  static const IconData sim_card_sharp = IconData(0xecaf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sim_card</i> &#x2014; material icon named "sim card" (round).
  static const IconData sim_card_rounded = IconData(0xf018e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sim_card</i> &#x2014; material icon named "sim card" (outlined).
  static const IconData sim_card_outlined = IconData(0xf39c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sim_card_alert</i> &#x2014; material icon named "sim card alert".
  static const IconData sim_card_alert = IconData(0xe5b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sim_card_alert</i> &#x2014; material icon named "sim card alert" (sharp).
  static const IconData sim_card_alert_sharp = IconData(0xecad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sim_card_alert</i> &#x2014; material icon named "sim card alert" (round).
  static const IconData sim_card_alert_rounded = IconData(0xf018c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sim_card_alert</i> &#x2014; material icon named "sim card alert" (outlined).
  static const IconData sim_card_alert_outlined = IconData(0xf39a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sim_card_download</i> &#x2014; material icon named "sim card download".
  static const IconData sim_card_download = IconData(0xe5b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sim_card_download</i> &#x2014; material icon named "sim card download" (sharp).
  static const IconData sim_card_download_sharp = IconData(0xecae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sim_card_download</i> &#x2014; material icon named "sim card download" (round).
  static const IconData sim_card_download_rounded = IconData(0xf018d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sim_card_download</i> &#x2014; material icon named "sim card download" (outlined).
  static const IconData sim_card_download_outlined = IconData(0xf39b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">single_bed</i> &#x2014; material icon named "single bed".
  static const IconData single_bed = IconData(0xe5ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">single_bed</i> &#x2014; material icon named "single bed" (sharp).
  static const IconData single_bed_sharp = IconData(0xecb0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">single_bed</i> &#x2014; material icon named "single bed" (round).
  static const IconData single_bed_rounded = IconData(0xf018f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">single_bed</i> &#x2014; material icon named "single bed" (outlined).
  static const IconData single_bed_outlined = IconData(0xf39d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sip</i> &#x2014; material icon named "sip".
  static const IconData sip = IconData(0xe5bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sip</i> &#x2014; material icon named "sip" (sharp).
  static const IconData sip_sharp = IconData(0xecb1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sip</i> &#x2014; material icon named "sip" (round).
  static const IconData sip_rounded = IconData(0xf0190, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sip</i> &#x2014; material icon named "sip" (outlined).
  static const IconData sip_outlined = IconData(0xf39e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">skateboarding</i> &#x2014; material icon named "skateboarding".
  static const IconData skateboarding = IconData(0xe5bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">skateboarding</i> &#x2014; material icon named "skateboarding" (sharp).
  static const IconData skateboarding_sharp = IconData(0xecb2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">skateboarding</i> &#x2014; material icon named "skateboarding" (round).
  static const IconData skateboarding_rounded = IconData(0xf0191, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">skateboarding</i> &#x2014; material icon named "skateboarding" (outlined).
  static const IconData skateboarding_outlined = IconData(0xf39f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">skip_next</i> &#x2014; material icon named "skip next".
  static const IconData skip_next = IconData(0xe5bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">skip_next</i> &#x2014; material icon named "skip next" (sharp).
  static const IconData skip_next_sharp = IconData(0xecb3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">skip_next</i> &#x2014; material icon named "skip next" (round).
  static const IconData skip_next_rounded = IconData(0xf0192, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">skip_next</i> &#x2014; material icon named "skip next" (outlined).
  static const IconData skip_next_outlined = IconData(0xf3a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">skip_previous</i> &#x2014; material icon named "skip previous".
  static const IconData skip_previous = IconData(0xe5be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">skip_previous</i> &#x2014; material icon named "skip previous" (sharp).
  static const IconData skip_previous_sharp = IconData(0xecb4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">skip_previous</i> &#x2014; material icon named "skip previous" (round).
  static const IconData skip_previous_rounded = IconData(0xf0193, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">skip_previous</i> &#x2014; material icon named "skip previous" (outlined).
  static const IconData skip_previous_outlined = IconData(0xf3a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sledding</i> &#x2014; material icon named "sledding".
  static const IconData sledding = IconData(0xe5bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sledding</i> &#x2014; material icon named "sledding" (sharp).
  static const IconData sledding_sharp = IconData(0xecb5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sledding</i> &#x2014; material icon named "sledding" (round).
  static const IconData sledding_rounded = IconData(0xf0194, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sledding</i> &#x2014; material icon named "sledding" (outlined).
  static const IconData sledding_outlined = IconData(0xf3a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">slideshow</i> &#x2014; material icon named "slideshow".
  static const IconData slideshow = IconData(0xe5c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">slideshow</i> &#x2014; material icon named "slideshow" (sharp).
  static const IconData slideshow_sharp = IconData(0xecb6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">slideshow</i> &#x2014; material icon named "slideshow" (round).
  static const IconData slideshow_rounded = IconData(0xf0195, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">slideshow</i> &#x2014; material icon named "slideshow" (outlined).
  static const IconData slideshow_outlined = IconData(0xf3a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">slow_motion_video</i> &#x2014; material icon named "slow motion video".
  static const IconData slow_motion_video = IconData(0xe5c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">slow_motion_video</i> &#x2014; material icon named "slow motion video" (sharp).
  static const IconData slow_motion_video_sharp = IconData(0xecb7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">slow_motion_video</i> &#x2014; material icon named "slow motion video" (round).
  static const IconData slow_motion_video_rounded = IconData(0xf0196, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">slow_motion_video</i> &#x2014; material icon named "slow motion video" (outlined).
  static const IconData slow_motion_video_outlined = IconData(0xf3a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">smart_button</i> &#x2014; material icon named "smart button".
  static const IconData smart_button = IconData(0xe5c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">smart_button</i> &#x2014; material icon named "smart button" (sharp).
  static const IconData smart_button_sharp = IconData(0xecb8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">smart_button</i> &#x2014; material icon named "smart button" (round).
  static const IconData smart_button_rounded = IconData(0xf0197, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">smart_button</i> &#x2014; material icon named "smart button" (outlined).
  static const IconData smart_button_outlined = IconData(0xf3a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">smart_display</i> &#x2014; material icon named "smart display".
  static const IconData smart_display = IconData(0xe5c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">smart_display</i> &#x2014; material icon named "smart display" (sharp).
  static const IconData smart_display_sharp = IconData(0xecb9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">smart_display</i> &#x2014; material icon named "smart display" (round).
  static const IconData smart_display_rounded = IconData(0xf0198, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">smart_display</i> &#x2014; material icon named "smart display" (outlined).
  static const IconData smart_display_outlined = IconData(0xf3a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">smart_screen</i> &#x2014; material icon named "smart screen".
  static const IconData smart_screen = IconData(0xe5c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">smart_screen</i> &#x2014; material icon named "smart screen" (sharp).
  static const IconData smart_screen_sharp = IconData(0xecba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">smart_screen</i> &#x2014; material icon named "smart screen" (round).
  static const IconData smart_screen_rounded = IconData(0xf0199, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">smart_screen</i> &#x2014; material icon named "smart screen" (outlined).
  static const IconData smart_screen_outlined = IconData(0xf3a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">smart_toy</i> &#x2014; material icon named "smart toy".
  static const IconData smart_toy = IconData(0xe5c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">smart_toy</i> &#x2014; material icon named "smart toy" (sharp).
  static const IconData smart_toy_sharp = IconData(0xecbb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">smart_toy</i> &#x2014; material icon named "smart toy" (round).
  static const IconData smart_toy_rounded = IconData(0xf019a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">smart_toy</i> &#x2014; material icon named "smart toy" (outlined).
  static const IconData smart_toy_outlined = IconData(0xf3a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">smartphone</i> &#x2014; material icon named "smartphone".
  static const IconData smartphone = IconData(0xe5c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">smartphone</i> &#x2014; material icon named "smartphone" (sharp).
  static const IconData smartphone_sharp = IconData(0xecbc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">smartphone</i> &#x2014; material icon named "smartphone" (round).
  static const IconData smartphone_rounded = IconData(0xf019b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">smartphone</i> &#x2014; material icon named "smartphone" (outlined).
  static const IconData smartphone_outlined = IconData(0xf3a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">smoke_free</i> &#x2014; material icon named "smoke free".
  static const IconData smoke_free = IconData(0xe5c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">smoke_free</i> &#x2014; material icon named "smoke free" (sharp).
  static const IconData smoke_free_sharp = IconData(0xecbd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">smoke_free</i> &#x2014; material icon named "smoke free" (round).
  static const IconData smoke_free_rounded = IconData(0xf019c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">smoke_free</i> &#x2014; material icon named "smoke free" (outlined).
  static const IconData smoke_free_outlined = IconData(0xf3aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">smoking_rooms</i> &#x2014; material icon named "smoking rooms".
  static const IconData smoking_rooms = IconData(0xe5c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">smoking_rooms</i> &#x2014; material icon named "smoking rooms" (sharp).
  static const IconData smoking_rooms_sharp = IconData(0xecbe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">smoking_rooms</i> &#x2014; material icon named "smoking rooms" (round).
  static const IconData smoking_rooms_rounded = IconData(0xf019d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">smoking_rooms</i> &#x2014; material icon named "smoking rooms" (outlined).
  static const IconData smoking_rooms_outlined = IconData(0xf3ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sms</i> &#x2014; material icon named "sms".
  static const IconData sms = IconData(0xe5c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sms</i> &#x2014; material icon named "sms" (sharp).
  static const IconData sms_sharp = IconData(0xecc0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sms</i> &#x2014; material icon named "sms" (round).
  static const IconData sms_rounded = IconData(0xf019f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sms</i> &#x2014; material icon named "sms" (outlined).
  static const IconData sms_outlined = IconData(0xf3ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sms_failed</i> &#x2014; material icon named "sms failed".
  static const IconData sms_failed = IconData(0xe5ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sms_failed</i> &#x2014; material icon named "sms failed" (sharp).
  static const IconData sms_failed_sharp = IconData(0xecbf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sms_failed</i> &#x2014; material icon named "sms failed" (round).
  static const IconData sms_failed_rounded = IconData(0xf019e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sms_failed</i> &#x2014; material icon named "sms failed" (outlined).
  static const IconData sms_failed_outlined = IconData(0xf3ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">snapchat</i> &#x2014; material icon named "snapchat".
  static const IconData snapchat = IconData(0xf056a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">snapchat</i> &#x2014; material icon named "snapchat" (sharp).
  static const IconData snapchat_sharp = IconData(0xf0473, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">snapchat</i> &#x2014; material icon named "snapchat" (round).
  static const IconData snapchat_rounded = IconData(0xf0380, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">snapchat</i> &#x2014; material icon named "snapchat" (outlined).
  static const IconData snapchat_outlined = IconData(0xf0661, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">snippet_folder</i> &#x2014; material icon named "snippet folder".
  static const IconData snippet_folder = IconData(0xe5cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">snippet_folder</i> &#x2014; material icon named "snippet folder" (sharp).
  static const IconData snippet_folder_sharp = IconData(0xecc1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">snippet_folder</i> &#x2014; material icon named "snippet folder" (round).
  static const IconData snippet_folder_rounded = IconData(0xf01a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">snippet_folder</i> &#x2014; material icon named "snippet folder" (outlined).
  static const IconData snippet_folder_outlined = IconData(0xf3ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">snooze</i> &#x2014; material icon named "snooze".
  static const IconData snooze = IconData(0xe5cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">snooze</i> &#x2014; material icon named "snooze" (sharp).
  static const IconData snooze_sharp = IconData(0xecc2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">snooze</i> &#x2014; material icon named "snooze" (round).
  static const IconData snooze_rounded = IconData(0xf01a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">snooze</i> &#x2014; material icon named "snooze" (outlined).
  static const IconData snooze_outlined = IconData(0xf3af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">snowboarding</i> &#x2014; material icon named "snowboarding".
  static const IconData snowboarding = IconData(0xe5cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">snowboarding</i> &#x2014; material icon named "snowboarding" (sharp).
  static const IconData snowboarding_sharp = IconData(0xecc3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">snowboarding</i> &#x2014; material icon named "snowboarding" (round).
  static const IconData snowboarding_rounded = IconData(0xf01a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">snowboarding</i> &#x2014; material icon named "snowboarding" (outlined).
  static const IconData snowboarding_outlined = IconData(0xf3b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">snowing</i> &#x2014; material icon named "snowing".
  static const IconData snowing = IconData(0xf056b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">snowmobile</i> &#x2014; material icon named "snowmobile".
  static const IconData snowmobile = IconData(0xe5ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">snowmobile</i> &#x2014; material icon named "snowmobile" (sharp).
  static const IconData snowmobile_sharp = IconData(0xecc4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">snowmobile</i> &#x2014; material icon named "snowmobile" (round).
  static const IconData snowmobile_rounded = IconData(0xf01a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">snowmobile</i> &#x2014; material icon named "snowmobile" (outlined).
  static const IconData snowmobile_outlined = IconData(0xf3b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">snowshoeing</i> &#x2014; material icon named "snowshoeing".
  static const IconData snowshoeing = IconData(0xe5cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">snowshoeing</i> &#x2014; material icon named "snowshoeing" (sharp).
  static const IconData snowshoeing_sharp = IconData(0xecc5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">snowshoeing</i> &#x2014; material icon named "snowshoeing" (round).
  static const IconData snowshoeing_rounded = IconData(0xf01a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">snowshoeing</i> &#x2014; material icon named "snowshoeing" (outlined).
  static const IconData snowshoeing_outlined = IconData(0xf3b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">soap</i> &#x2014; material icon named "soap".
  static const IconData soap = IconData(0xe5d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">soap</i> &#x2014; material icon named "soap" (sharp).
  static const IconData soap_sharp = IconData(0xecc6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">soap</i> &#x2014; material icon named "soap" (round).
  static const IconData soap_rounded = IconData(0xf01a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">soap</i> &#x2014; material icon named "soap" (outlined).
  static const IconData soap_outlined = IconData(0xf3b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">social_distance</i> &#x2014; material icon named "social distance".
  static const IconData social_distance = IconData(0xe5d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">social_distance</i> &#x2014; material icon named "social distance" (sharp).
  static const IconData social_distance_sharp = IconData(0xecc7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">social_distance</i> &#x2014; material icon named "social distance" (round).
  static const IconData social_distance_rounded = IconData(0xf01a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">social_distance</i> &#x2014; material icon named "social distance" (outlined).
  static const IconData social_distance_outlined = IconData(0xf3b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">solar_power</i> &#x2014; material icon named "solar power".
  static const IconData solar_power = IconData(0xf07c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">solar_power</i> &#x2014; material icon named "solar power" (sharp).
  static const IconData solar_power_sharp = IconData(0xf076e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">solar_power</i> &#x2014; material icon named "solar power" (round).
  static const IconData solar_power_rounded = IconData(0xf081e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">solar_power</i> &#x2014; material icon named "solar power" (outlined).
  static const IconData solar_power_outlined = IconData(0xf0716, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sort</i> &#x2014; material icon named "sort".
  static const IconData sort = IconData(0xe5d2, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">sort</i> &#x2014; material icon named "sort" (sharp).
  static const IconData sort_sharp = IconData(0xecc9, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">sort</i> &#x2014; material icon named "sort" (round).
  static const IconData sort_rounded = IconData(0xf01a8, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">sort</i> &#x2014; material icon named "sort" (outlined).
  static const IconData sort_outlined = IconData(0xf3b6, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">sort_by_alpha</i> &#x2014; material icon named "sort by alpha".
  static const IconData sort_by_alpha = IconData(0xe5d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sort_by_alpha</i> &#x2014; material icon named "sort by alpha" (sharp).
  static const IconData sort_by_alpha_sharp = IconData(0xecc8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sort_by_alpha</i> &#x2014; material icon named "sort by alpha" (round).
  static const IconData sort_by_alpha_rounded = IconData(0xf01a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sort_by_alpha</i> &#x2014; material icon named "sort by alpha" (outlined).
  static const IconData sort_by_alpha_outlined = IconData(0xf3b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sos</i> &#x2014; material icon named "sos".
  static const IconData sos = IconData(0xf07c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sos</i> &#x2014; material icon named "sos" (sharp).
  static const IconData sos_sharp = IconData(0xf076f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sos</i> &#x2014; material icon named "sos" (round).
  static const IconData sos_rounded = IconData(0xf081f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sos</i> &#x2014; material icon named "sos" (outlined).
  static const IconData sos_outlined = IconData(0xf0717, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">soup_kitchen</i> &#x2014; material icon named "soup kitchen".
  static const IconData soup_kitchen = IconData(0xf056c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">soup_kitchen</i> &#x2014; material icon named "soup kitchen" (sharp).
  static const IconData soup_kitchen_sharp = IconData(0xf0474, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">soup_kitchen</i> &#x2014; material icon named "soup kitchen" (round).
  static const IconData soup_kitchen_rounded = IconData(0xf0381, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">soup_kitchen</i> &#x2014; material icon named "soup kitchen" (outlined).
  static const IconData soup_kitchen_outlined = IconData(0xf0662, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">source</i> &#x2014; material icon named "source".
  static const IconData source = IconData(0xe5d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">source</i> &#x2014; material icon named "source" (sharp).
  static const IconData source_sharp = IconData(0xecca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">source</i> &#x2014; material icon named "source" (round).
  static const IconData source_rounded = IconData(0xf01a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">source</i> &#x2014; material icon named "source" (outlined).
  static const IconData source_outlined = IconData(0xf3b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">south</i> &#x2014; material icon named "south".
  static const IconData south = IconData(0xe5d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">south</i> &#x2014; material icon named "south" (sharp).
  static const IconData south_sharp = IconData(0xeccc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">south</i> &#x2014; material icon named "south" (round).
  static const IconData south_rounded = IconData(0xf01ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">south</i> &#x2014; material icon named "south" (outlined).
  static const IconData south_outlined = IconData(0xf3b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">south_america</i> &#x2014; material icon named "south america".
  static const IconData south_america = IconData(0xf056d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">south_america</i> &#x2014; material icon named "south america" (sharp).
  static const IconData south_america_sharp = IconData(0xf0475, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">south_america</i> &#x2014; material icon named "south america" (round).
  static const IconData south_america_rounded = IconData(0xf0382, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">south_america</i> &#x2014; material icon named "south america" (outlined).
  static const IconData south_america_outlined = IconData(0xf0663, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">south_east</i> &#x2014; material icon named "south east".
  static const IconData south_east = IconData(0xe5d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">south_east</i> &#x2014; material icon named "south east" (sharp).
  static const IconData south_east_sharp = IconData(0xeccb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">south_east</i> &#x2014; material icon named "south east" (round).
  static const IconData south_east_rounded = IconData(0xf01aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">south_east</i> &#x2014; material icon named "south east" (outlined).
  static const IconData south_east_outlined = IconData(0xf3b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">south_west</i> &#x2014; material icon named "south west".
  static const IconData south_west = IconData(0xe5d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">south_west</i> &#x2014; material icon named "south west" (sharp).
  static const IconData south_west_sharp = IconData(0xeccd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">south_west</i> &#x2014; material icon named "south west" (round).
  static const IconData south_west_rounded = IconData(0xf01ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">south_west</i> &#x2014; material icon named "south west" (outlined).
  static const IconData south_west_outlined = IconData(0xf3ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">spa</i> &#x2014; material icon named "spa".
  static const IconData spa = IconData(0xe5d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">spa</i> &#x2014; material icon named "spa" (sharp).
  static const IconData spa_sharp = IconData(0xecce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">spa</i> &#x2014; material icon named "spa" (round).
  static const IconData spa_rounded = IconData(0xf01ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">spa</i> &#x2014; material icon named "spa" (outlined).
  static const IconData spa_outlined = IconData(0xf3bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">space_bar</i> &#x2014; material icon named "space bar".
  static const IconData space_bar = IconData(0xe5d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">space_bar</i> &#x2014; material icon named "space bar" (sharp).
  static const IconData space_bar_sharp = IconData(0xeccf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">space_bar</i> &#x2014; material icon named "space bar" (round).
  static const IconData space_bar_rounded = IconData(0xf01ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">space_bar</i> &#x2014; material icon named "space bar" (outlined).
  static const IconData space_bar_outlined = IconData(0xf3bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">space_dashboard</i> &#x2014; material icon named "space dashboard".
  static const IconData space_dashboard = IconData(0xe5da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">space_dashboard</i> &#x2014; material icon named "space dashboard" (sharp).
  static const IconData space_dashboard_sharp = IconData(0xecd0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">space_dashboard</i> &#x2014; material icon named "space dashboard" (round).
  static const IconData space_dashboard_rounded = IconData(0xf01af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">space_dashboard</i> &#x2014; material icon named "space dashboard" (outlined).
  static const IconData space_dashboard_outlined = IconData(0xf3bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">spatial_audio</i> &#x2014; material icon named "spatial audio".
  static const IconData spatial_audio = IconData(0xf07c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">spatial_audio</i> &#x2014; material icon named "spatial audio" (sharp).
  static const IconData spatial_audio_sharp = IconData(0xf0771, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">spatial_audio</i> &#x2014; material icon named "spatial audio" (round).
  static const IconData spatial_audio_rounded = IconData(0xf0821, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">spatial_audio</i> &#x2014; material icon named "spatial audio" (outlined).
  static const IconData spatial_audio_outlined = IconData(0xf0719, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">spatial_audio_off</i> &#x2014; material icon named "spatial audio off".
  static const IconData spatial_audio_off = IconData(0xf07c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">spatial_audio_off</i> &#x2014; material icon named "spatial audio off" (sharp).
  static const IconData spatial_audio_off_sharp = IconData(0xf0770, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">spatial_audio_off</i> &#x2014; material icon named "spatial audio off" (round).
  static const IconData spatial_audio_off_rounded = IconData(0xf0820, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">spatial_audio_off</i> &#x2014; material icon named "spatial audio off" (outlined).
  static const IconData spatial_audio_off_outlined = IconData(0xf0718, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">spatial_tracking</i> &#x2014; material icon named "spatial tracking".
  static const IconData spatial_tracking = IconData(0xf07ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">spatial_tracking</i> &#x2014; material icon named "spatial tracking" (sharp).
  static const IconData spatial_tracking_sharp = IconData(0xf0772, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">spatial_tracking</i> &#x2014; material icon named "spatial tracking" (round).
  static const IconData spatial_tracking_rounded = IconData(0xf0822, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">spatial_tracking</i> &#x2014; material icon named "spatial tracking" (outlined).
  static const IconData spatial_tracking_outlined = IconData(0xf071a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">speaker</i> &#x2014; material icon named "speaker".
  static const IconData speaker = IconData(0xe5db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">speaker</i> &#x2014; material icon named "speaker" (sharp).
  static const IconData speaker_sharp = IconData(0xecd5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">speaker</i> &#x2014; material icon named "speaker" (round).
  static const IconData speaker_rounded = IconData(0xf01b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">speaker</i> &#x2014; material icon named "speaker" (outlined).
  static const IconData speaker_outlined = IconData(0xf3c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">speaker_group</i> &#x2014; material icon named "speaker group".
  static const IconData speaker_group = IconData(0xe5dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">speaker_group</i> &#x2014; material icon named "speaker group" (sharp).
  static const IconData speaker_group_sharp = IconData(0xecd1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">speaker_group</i> &#x2014; material icon named "speaker group" (round).
  static const IconData speaker_group_rounded = IconData(0xf01b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">speaker_group</i> &#x2014; material icon named "speaker group" (outlined).
  static const IconData speaker_group_outlined = IconData(0xf3be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">speaker_notes</i> &#x2014; material icon named "speaker notes".
  static const IconData speaker_notes = IconData(0xe5dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">speaker_notes</i> &#x2014; material icon named "speaker notes" (sharp).
  static const IconData speaker_notes_sharp = IconData(0xecd3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">speaker_notes</i> &#x2014; material icon named "speaker notes" (round).
  static const IconData speaker_notes_rounded = IconData(0xf01b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">speaker_notes</i> &#x2014; material icon named "speaker notes" (outlined).
  static const IconData speaker_notes_outlined = IconData(0xf3c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">speaker_notes_off</i> &#x2014; material icon named "speaker notes off".
  static const IconData speaker_notes_off = IconData(0xe5de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">speaker_notes_off</i> &#x2014; material icon named "speaker notes off" (sharp).
  static const IconData speaker_notes_off_sharp = IconData(0xecd2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">speaker_notes_off</i> &#x2014; material icon named "speaker notes off" (round).
  static const IconData speaker_notes_off_rounded = IconData(0xf01b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">speaker_notes_off</i> &#x2014; material icon named "speaker notes off" (outlined).
  static const IconData speaker_notes_off_outlined = IconData(0xf3bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">speaker_phone</i> &#x2014; material icon named "speaker phone".
  static const IconData speaker_phone = IconData(0xe5df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">speaker_phone</i> &#x2014; material icon named "speaker phone" (sharp).
  static const IconData speaker_phone_sharp = IconData(0xecd4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">speaker_phone</i> &#x2014; material icon named "speaker phone" (round).
  static const IconData speaker_phone_rounded = IconData(0xf01b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">speaker_phone</i> &#x2014; material icon named "speaker phone" (outlined).
  static const IconData speaker_phone_outlined = IconData(0xf3c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">speed</i> &#x2014; material icon named "speed".
  static const IconData speed = IconData(0xe5e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">speed</i> &#x2014; material icon named "speed" (sharp).
  static const IconData speed_sharp = IconData(0xecd6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">speed</i> &#x2014; material icon named "speed" (round).
  static const IconData speed_rounded = IconData(0xf01b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">speed</i> &#x2014; material icon named "speed" (outlined).
  static const IconData speed_outlined = IconData(0xf3c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">spellcheck</i> &#x2014; material icon named "spellcheck".
  static const IconData spellcheck = IconData(0xe5e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">spellcheck</i> &#x2014; material icon named "spellcheck" (sharp).
  static const IconData spellcheck_sharp = IconData(0xecd7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">spellcheck</i> &#x2014; material icon named "spellcheck" (round).
  static const IconData spellcheck_rounded = IconData(0xf01b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">spellcheck</i> &#x2014; material icon named "spellcheck" (outlined).
  static const IconData spellcheck_outlined = IconData(0xf3c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">splitscreen</i> &#x2014; material icon named "splitscreen".
  static const IconData splitscreen = IconData(0xe5e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">splitscreen</i> &#x2014; material icon named "splitscreen" (sharp).
  static const IconData splitscreen_sharp = IconData(0xecd8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">splitscreen</i> &#x2014; material icon named "splitscreen" (round).
  static const IconData splitscreen_rounded = IconData(0xf01b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">splitscreen</i> &#x2014; material icon named "splitscreen" (outlined).
  static const IconData splitscreen_outlined = IconData(0xf3c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">spoke</i> &#x2014; material icon named "spoke".
  static const IconData spoke = IconData(0xf056e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">spoke</i> &#x2014; material icon named "spoke" (sharp).
  static const IconData spoke_sharp = IconData(0xf0476, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">spoke</i> &#x2014; material icon named "spoke" (round).
  static const IconData spoke_rounded = IconData(0xf0383, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">spoke</i> &#x2014; material icon named "spoke" (outlined).
  static const IconData spoke_outlined = IconData(0xf0664, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports</i> &#x2014; material icon named "sports".
  static const IconData sports = IconData(0xe5e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports</i> &#x2014; material icon named "sports" (sharp).
  static const IconData sports_sharp = IconData(0xece7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports</i> &#x2014; material icon named "sports" (round).
  static const IconData sports_rounded = IconData(0xf01c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports</i> &#x2014; material icon named "sports" (outlined).
  static const IconData sports_outlined = IconData(0xf3d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_bar</i> &#x2014; material icon named "sports bar".
  static const IconData sports_bar = IconData(0xe5e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_bar</i> &#x2014; material icon named "sports bar" (sharp).
  static const IconData sports_bar_sharp = IconData(0xecd9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_bar</i> &#x2014; material icon named "sports bar" (round).
  static const IconData sports_bar_rounded = IconData(0xf01b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_bar</i> &#x2014; material icon named "sports bar" (outlined).
  static const IconData sports_bar_outlined = IconData(0xf3c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_baseball</i> &#x2014; material icon named "sports baseball".
  static const IconData sports_baseball = IconData(0xe5e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_baseball</i> &#x2014; material icon named "sports baseball" (sharp).
  static const IconData sports_baseball_sharp = IconData(0xecda, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_baseball</i> &#x2014; material icon named "sports baseball" (round).
  static const IconData sports_baseball_rounded = IconData(0xf01b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_baseball</i> &#x2014; material icon named "sports baseball" (outlined).
  static const IconData sports_baseball_outlined = IconData(0xf3c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_basketball</i> &#x2014; material icon named "sports basketball".
  static const IconData sports_basketball = IconData(0xe5e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_basketball</i> &#x2014; material icon named "sports basketball" (sharp).
  static const IconData sports_basketball_sharp = IconData(0xecdb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_basketball</i> &#x2014; material icon named "sports basketball" (round).
  static const IconData sports_basketball_rounded = IconData(0xf01ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_basketball</i> &#x2014; material icon named "sports basketball" (outlined).
  static const IconData sports_basketball_outlined = IconData(0xf3c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_cricket</i> &#x2014; material icon named "sports cricket".
  static const IconData sports_cricket = IconData(0xe5e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_cricket</i> &#x2014; material icon named "sports cricket" (sharp).
  static const IconData sports_cricket_sharp = IconData(0xecdc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_cricket</i> &#x2014; material icon named "sports cricket" (round).
  static const IconData sports_cricket_rounded = IconData(0xf01bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_cricket</i> &#x2014; material icon named "sports cricket" (outlined).
  static const IconData sports_cricket_outlined = IconData(0xf3c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_esports</i> &#x2014; material icon named "sports esports".
  static const IconData sports_esports = IconData(0xe5e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_esports</i> &#x2014; material icon named "sports esports" (sharp).
  static const IconData sports_esports_sharp = IconData(0xecdd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_esports</i> &#x2014; material icon named "sports esports" (round).
  static const IconData sports_esports_rounded = IconData(0xf01bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_esports</i> &#x2014; material icon named "sports esports" (outlined).
  static const IconData sports_esports_outlined = IconData(0xf3ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_football</i> &#x2014; material icon named "sports football".
  static const IconData sports_football = IconData(0xe5e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_football</i> &#x2014; material icon named "sports football" (sharp).
  static const IconData sports_football_sharp = IconData(0xecde, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_football</i> &#x2014; material icon named "sports football" (round).
  static const IconData sports_football_rounded = IconData(0xf01bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_football</i> &#x2014; material icon named "sports football" (outlined).
  static const IconData sports_football_outlined = IconData(0xf3cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_golf</i> &#x2014; material icon named "sports golf".
  static const IconData sports_golf = IconData(0xe5ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_golf</i> &#x2014; material icon named "sports golf" (sharp).
  static const IconData sports_golf_sharp = IconData(0xecdf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_golf</i> &#x2014; material icon named "sports golf" (round).
  static const IconData sports_golf_rounded = IconData(0xf01be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_golf</i> &#x2014; material icon named "sports golf" (outlined).
  static const IconData sports_golf_outlined = IconData(0xf3cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_gymnastics</i> &#x2014; material icon named "sports gymnastics".
  static const IconData sports_gymnastics = IconData(0xf06c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_gymnastics</i> &#x2014; material icon named "sports gymnastics" (sharp).
  static const IconData sports_gymnastics_sharp = IconData(0xf06b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_gymnastics</i> &#x2014; material icon named "sports gymnastics" (round).
  static const IconData sports_gymnastics_rounded = IconData(0xf06d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_gymnastics</i> &#x2014; material icon named "sports gymnastics" (outlined).
  static const IconData sports_gymnastics_outlined = IconData(0xf06a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_handball</i> &#x2014; material icon named "sports handball".
  static const IconData sports_handball = IconData(0xe5eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_handball</i> &#x2014; material icon named "sports handball" (sharp).
  static const IconData sports_handball_sharp = IconData(0xece0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_handball</i> &#x2014; material icon named "sports handball" (round).
  static const IconData sports_handball_rounded = IconData(0xf01bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_handball</i> &#x2014; material icon named "sports handball" (outlined).
  static const IconData sports_handball_outlined = IconData(0xf3cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_hockey</i> &#x2014; material icon named "sports hockey".
  static const IconData sports_hockey = IconData(0xe5ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_hockey</i> &#x2014; material icon named "sports hockey" (sharp).
  static const IconData sports_hockey_sharp = IconData(0xece1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_hockey</i> &#x2014; material icon named "sports hockey" (round).
  static const IconData sports_hockey_rounded = IconData(0xf01c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_hockey</i> &#x2014; material icon named "sports hockey" (outlined).
  static const IconData sports_hockey_outlined = IconData(0xf3ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_kabaddi</i> &#x2014; material icon named "sports kabaddi".
  static const IconData sports_kabaddi = IconData(0xe5ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_kabaddi</i> &#x2014; material icon named "sports kabaddi" (sharp).
  static const IconData sports_kabaddi_sharp = IconData(0xece2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_kabaddi</i> &#x2014; material icon named "sports kabaddi" (round).
  static const IconData sports_kabaddi_rounded = IconData(0xf01c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_kabaddi</i> &#x2014; material icon named "sports kabaddi" (outlined).
  static const IconData sports_kabaddi_outlined = IconData(0xf3cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_martial_arts</i> &#x2014; material icon named "sports martial arts".
  static const IconData sports_martial_arts = IconData(0xf056f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_martial_arts</i> &#x2014; material icon named "sports martial arts" (sharp).
  static const IconData sports_martial_arts_sharp = IconData(0xf0477, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_martial_arts</i> &#x2014; material icon named "sports martial arts" (round).
  static const IconData sports_martial_arts_rounded = IconData(0xf0384, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_martial_arts</i> &#x2014; material icon named "sports martial arts" (outlined).
  static const IconData sports_martial_arts_outlined = IconData(0xf0665, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_mma</i> &#x2014; material icon named "sports mma".
  static const IconData sports_mma = IconData(0xe5ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_mma</i> &#x2014; material icon named "sports mma" (sharp).
  static const IconData sports_mma_sharp = IconData(0xece3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_mma</i> &#x2014; material icon named "sports mma" (round).
  static const IconData sports_mma_rounded = IconData(0xf01c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_mma</i> &#x2014; material icon named "sports mma" (outlined).
  static const IconData sports_mma_outlined = IconData(0xf3d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_motorsports</i> &#x2014; material icon named "sports motorsports".
  static const IconData sports_motorsports = IconData(0xe5ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_motorsports</i> &#x2014; material icon named "sports motorsports" (sharp).
  static const IconData sports_motorsports_sharp = IconData(0xece4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_motorsports</i> &#x2014; material icon named "sports motorsports" (round).
  static const IconData sports_motorsports_rounded = IconData(0xf01c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_motorsports</i> &#x2014; material icon named "sports motorsports" (outlined).
  static const IconData sports_motorsports_outlined = IconData(0xf3d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_rugby</i> &#x2014; material icon named "sports rugby".
  static const IconData sports_rugby = IconData(0xe5f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_rugby</i> &#x2014; material icon named "sports rugby" (sharp).
  static const IconData sports_rugby_sharp = IconData(0xece5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_rugby</i> &#x2014; material icon named "sports rugby" (round).
  static const IconData sports_rugby_rounded = IconData(0xf01c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_rugby</i> &#x2014; material icon named "sports rugby" (outlined).
  static const IconData sports_rugby_outlined = IconData(0xf3d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_score</i> &#x2014; material icon named "sports score".
  static const IconData sports_score = IconData(0xe5f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_score</i> &#x2014; material icon named "sports score" (sharp).
  static const IconData sports_score_sharp = IconData(0xece6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_score</i> &#x2014; material icon named "sports score" (round).
  static const IconData sports_score_rounded = IconData(0xf01c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_score</i> &#x2014; material icon named "sports score" (outlined).
  static const IconData sports_score_outlined = IconData(0xf3d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_soccer</i> &#x2014; material icon named "sports soccer".
  static const IconData sports_soccer = IconData(0xe5f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_soccer</i> &#x2014; material icon named "sports soccer" (sharp).
  static const IconData sports_soccer_sharp = IconData(0xece8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_soccer</i> &#x2014; material icon named "sports soccer" (round).
  static const IconData sports_soccer_rounded = IconData(0xf01c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_soccer</i> &#x2014; material icon named "sports soccer" (outlined).
  static const IconData sports_soccer_outlined = IconData(0xf3d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_tennis</i> &#x2014; material icon named "sports tennis".
  static const IconData sports_tennis = IconData(0xe5f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_tennis</i> &#x2014; material icon named "sports tennis" (sharp).
  static const IconData sports_tennis_sharp = IconData(0xece9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_tennis</i> &#x2014; material icon named "sports tennis" (round).
  static const IconData sports_tennis_rounded = IconData(0xf01c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_tennis</i> &#x2014; material icon named "sports tennis" (outlined).
  static const IconData sports_tennis_outlined = IconData(0xf3d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_volleyball</i> &#x2014; material icon named "sports volleyball".
  static const IconData sports_volleyball = IconData(0xe5f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_volleyball</i> &#x2014; material icon named "sports volleyball" (sharp).
  static const IconData sports_volleyball_sharp = IconData(0xecea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_volleyball</i> &#x2014; material icon named "sports volleyball" (round).
  static const IconData sports_volleyball_rounded = IconData(0xf01c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_volleyball</i> &#x2014; material icon named "sports volleyball" (outlined).
  static const IconData sports_volleyball_outlined = IconData(0xf3d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">square</i> &#x2014; material icon named "square".
  static const IconData square = IconData(0xf0570, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">square</i> &#x2014; material icon named "square" (sharp).
  static const IconData square_sharp = IconData(0xf0478, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">square</i> &#x2014; material icon named "square" (round).
  static const IconData square_rounded = IconData(0xf0385, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">square</i> &#x2014; material icon named "square" (outlined).
  static const IconData square_outlined = IconData(0xf0666, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">square_foot</i> &#x2014; material icon named "square foot".
  static const IconData square_foot = IconData(0xe5f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">square_foot</i> &#x2014; material icon named "square foot" (sharp).
  static const IconData square_foot_sharp = IconData(0xeceb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">square_foot</i> &#x2014; material icon named "square foot" (round).
  static const IconData square_foot_rounded = IconData(0xf01ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">square_foot</i> &#x2014; material icon named "square foot" (outlined).
  static const IconData square_foot_outlined = IconData(0xf3d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ssid_chart</i> &#x2014; material icon named "ssid chart".
  static const IconData ssid_chart = IconData(0xf0571, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ssid_chart</i> &#x2014; material icon named "ssid chart" (sharp).
  static const IconData ssid_chart_sharp = IconData(0xf0479, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ssid_chart</i> &#x2014; material icon named "ssid chart" (round).
  static const IconData ssid_chart_rounded = IconData(0xf0386, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ssid_chart</i> &#x2014; material icon named "ssid chart" (outlined).
  static const IconData ssid_chart_outlined = IconData(0xf0667, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stacked_bar_chart</i> &#x2014; material icon named "stacked bar chart".
  static const IconData stacked_bar_chart = IconData(0xe5f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stacked_bar_chart</i> &#x2014; material icon named "stacked bar chart" (sharp).
  static const IconData stacked_bar_chart_sharp = IconData(0xecec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stacked_bar_chart</i> &#x2014; material icon named "stacked bar chart" (round).
  static const IconData stacked_bar_chart_rounded = IconData(0xf01cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stacked_bar_chart</i> &#x2014; material icon named "stacked bar chart" (outlined).
  static const IconData stacked_bar_chart_outlined = IconData(0xf3d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stacked_line_chart</i> &#x2014; material icon named "stacked line chart".
  static const IconData stacked_line_chart = IconData(0xe5f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stacked_line_chart</i> &#x2014; material icon named "stacked line chart" (sharp).
  static const IconData stacked_line_chart_sharp = IconData(0xeced, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stacked_line_chart</i> &#x2014; material icon named "stacked line chart" (round).
  static const IconData stacked_line_chart_rounded = IconData(0xf01cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stacked_line_chart</i> &#x2014; material icon named "stacked line chart" (outlined).
  static const IconData stacked_line_chart_outlined = IconData(0xf3da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stadium</i> &#x2014; material icon named "stadium".
  static const IconData stadium = IconData(0xf0572, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stadium</i> &#x2014; material icon named "stadium" (sharp).
  static const IconData stadium_sharp = IconData(0xf047a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stadium</i> &#x2014; material icon named "stadium" (round).
  static const IconData stadium_rounded = IconData(0xf0387, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stadium</i> &#x2014; material icon named "stadium" (outlined).
  static const IconData stadium_outlined = IconData(0xf0668, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stairs</i> &#x2014; material icon named "stairs".
  static const IconData stairs = IconData(0xe5f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stairs</i> &#x2014; material icon named "stairs" (sharp).
  static const IconData stairs_sharp = IconData(0xecee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stairs</i> &#x2014; material icon named "stairs" (round).
  static const IconData stairs_rounded = IconData(0xf01cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stairs</i> &#x2014; material icon named "stairs" (outlined).
  static const IconData stairs_outlined = IconData(0xf3db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">star</i> &#x2014; material icon named "star".
  static const IconData star = IconData(0xe5f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">star</i> &#x2014; material icon named "star" (sharp).
  static const IconData star_sharp = IconData(0xecf5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">star</i> &#x2014; material icon named "star" (round).
  static const IconData star_rounded = IconData(0xf01d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">star</i> &#x2014; material icon named "star" (outlined).
  static const IconData star_outlined = IconData(0xf3e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">star_border</i> &#x2014; material icon named "star border".
  static const IconData star_border = IconData(0xe5fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">star_border</i> &#x2014; material icon named "star border" (sharp).
  static const IconData star_border_sharp = IconData(0xecf0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">star_border</i> &#x2014; material icon named "star border" (round).
  static const IconData star_border_rounded = IconData(0xf01cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">star_border</i> &#x2014; material icon named "star border" (outlined).
  static const IconData star_border_outlined = IconData(0xf3dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">star_border_purple500</i> &#x2014; material icon named "star border purple500".
  static const IconData star_border_purple500 = IconData(0xe5fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">star_border_purple500</i> &#x2014; material icon named "star border purple500" (sharp).
  static const IconData star_border_purple500_sharp = IconData(0xecef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">star_border_purple500</i> &#x2014; material icon named "star border purple500" (round).
  static const IconData star_border_purple500_rounded = IconData(0xf01ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">star_border_purple500</i> &#x2014; material icon named "star border purple500" (outlined).
  static const IconData star_border_purple500_outlined = IconData(0xf3dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">star_half</i> &#x2014; material icon named "star half".
  static const IconData star_half = IconData(0xe5fc, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">star_half</i> &#x2014; material icon named "star half" (sharp).
  static const IconData star_half_sharp = IconData(0xecf1, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">star_half</i> &#x2014; material icon named "star half" (round).
  static const IconData star_half_rounded = IconData(0xf01d0, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">star_half</i> &#x2014; material icon named "star half" (outlined).
  static const IconData star_half_outlined = IconData(0xf3de, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">star_outline</i> &#x2014; material icon named "star outline".
  static const IconData star_outline = IconData(0xe5fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">star_outline</i> &#x2014; material icon named "star outline" (sharp).
  static const IconData star_outline_sharp = IconData(0xecf2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">star_outline</i> &#x2014; material icon named "star outline" (round).
  static const IconData star_outline_rounded = IconData(0xf01d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">star_outline</i> &#x2014; material icon named "star outline" (outlined).
  static const IconData star_outline_outlined = IconData(0xf3df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">star_purple500</i> &#x2014; material icon named "star purple500".
  static const IconData star_purple500 = IconData(0xe5fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">star_purple500</i> &#x2014; material icon named "star purple500" (sharp).
  static const IconData star_purple500_sharp = IconData(0xecf3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">star_purple500</i> &#x2014; material icon named "star purple500" (round).
  static const IconData star_purple500_rounded = IconData(0xf01d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">star_purple500</i> &#x2014; material icon named "star purple500" (outlined).
  static const IconData star_purple500_outlined = IconData(0xf3e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">star_rate</i> &#x2014; material icon named "star rate".
  static const IconData star_rate = IconData(0xe5ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">star_rate</i> &#x2014; material icon named "star rate" (sharp).
  static const IconData star_rate_sharp = IconData(0xecf4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">star_rate</i> &#x2014; material icon named "star rate" (round).
  static const IconData star_rate_rounded = IconData(0xf01d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">star_rate</i> &#x2014; material icon named "star rate" (outlined).
  static const IconData star_rate_outlined = IconData(0xf3e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stars</i> &#x2014; material icon named "stars".
  static const IconData stars = IconData(0xe600, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stars</i> &#x2014; material icon named "stars" (sharp).
  static const IconData stars_sharp = IconData(0xecf6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stars</i> &#x2014; material icon named "stars" (round).
  static const IconData stars_rounded = IconData(0xf01d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stars</i> &#x2014; material icon named "stars" (outlined).
  static const IconData stars_outlined = IconData(0xf3e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">start</i> &#x2014; material icon named "start".
  static const IconData start = IconData(0xf0573, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">start</i> &#x2014; material icon named "start" (sharp).
  static const IconData start_sharp = IconData(0xf047b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">start</i> &#x2014; material icon named "start" (round).
  static const IconData start_rounded = IconData(0xf0388, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">start</i> &#x2014; material icon named "start" (outlined).
  static const IconData start_outlined = IconData(0xf0669, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stay_current_landscape</i> &#x2014; material icon named "stay current landscape".
  static const IconData stay_current_landscape = IconData(0xe601, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stay_current_landscape</i> &#x2014; material icon named "stay current landscape" (sharp).
  static const IconData stay_current_landscape_sharp = IconData(0xecf7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stay_current_landscape</i> &#x2014; material icon named "stay current landscape" (round).
  static const IconData stay_current_landscape_rounded = IconData(0xf01d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stay_current_landscape</i> &#x2014; material icon named "stay current landscape" (outlined).
  static const IconData stay_current_landscape_outlined = IconData(0xf3e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stay_current_portrait</i> &#x2014; material icon named "stay current portrait".
  static const IconData stay_current_portrait = IconData(0xe602, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stay_current_portrait</i> &#x2014; material icon named "stay current portrait" (sharp).
  static const IconData stay_current_portrait_sharp = IconData(0xecf8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stay_current_portrait</i> &#x2014; material icon named "stay current portrait" (round).
  static const IconData stay_current_portrait_rounded = IconData(0xf01d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stay_current_portrait</i> &#x2014; material icon named "stay current portrait" (outlined).
  static const IconData stay_current_portrait_outlined = IconData(0xf3e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stay_primary_landscape</i> &#x2014; material icon named "stay primary landscape".
  static const IconData stay_primary_landscape = IconData(0xe603, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stay_primary_landscape</i> &#x2014; material icon named "stay primary landscape" (sharp).
  static const IconData stay_primary_landscape_sharp = IconData(0xecf9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stay_primary_landscape</i> &#x2014; material icon named "stay primary landscape" (round).
  static const IconData stay_primary_landscape_rounded = IconData(0xf01d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stay_primary_landscape</i> &#x2014; material icon named "stay primary landscape" (outlined).
  static const IconData stay_primary_landscape_outlined = IconData(0xf3e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stay_primary_portrait</i> &#x2014; material icon named "stay primary portrait".
  static const IconData stay_primary_portrait = IconData(0xe604, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stay_primary_portrait</i> &#x2014; material icon named "stay primary portrait" (sharp).
  static const IconData stay_primary_portrait_sharp = IconData(0xecfa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stay_primary_portrait</i> &#x2014; material icon named "stay primary portrait" (round).
  static const IconData stay_primary_portrait_rounded = IconData(0xf01d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stay_primary_portrait</i> &#x2014; material icon named "stay primary portrait" (outlined).
  static const IconData stay_primary_portrait_outlined = IconData(0xf3e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sticky_note_2</i> &#x2014; material icon named "sticky note 2".
  static const IconData sticky_note_2 = IconData(0xe605, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sticky_note_2</i> &#x2014; material icon named "sticky note 2" (sharp).
  static const IconData sticky_note_2_sharp = IconData(0xecfb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sticky_note_2</i> &#x2014; material icon named "sticky note 2" (round).
  static const IconData sticky_note_2_rounded = IconData(0xf01da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sticky_note_2</i> &#x2014; material icon named "sticky note 2" (outlined).
  static const IconData sticky_note_2_outlined = IconData(0xf3e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stop</i> &#x2014; material icon named "stop".
  static const IconData stop = IconData(0xe606, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stop</i> &#x2014; material icon named "stop" (sharp).
  static const IconData stop_sharp = IconData(0xecfe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stop</i> &#x2014; material icon named "stop" (round).
  static const IconData stop_rounded = IconData(0xf01dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stop</i> &#x2014; material icon named "stop" (outlined).
  static const IconData stop_outlined = IconData(0xf3ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stop_circle</i> &#x2014; material icon named "stop circle".
  static const IconData stop_circle = IconData(0xe607, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stop_circle</i> &#x2014; material icon named "stop circle" (sharp).
  static const IconData stop_circle_sharp = IconData(0xecfc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stop_circle</i> &#x2014; material icon named "stop circle" (round).
  static const IconData stop_circle_rounded = IconData(0xf01db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stop_circle</i> &#x2014; material icon named "stop circle" (outlined).
  static const IconData stop_circle_outlined = IconData(0xf3e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stop_screen_share</i> &#x2014; material icon named "stop screen share".
  static const IconData stop_screen_share = IconData(0xe608, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stop_screen_share</i> &#x2014; material icon named "stop screen share" (sharp).
  static const IconData stop_screen_share_sharp = IconData(0xecfd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stop_screen_share</i> &#x2014; material icon named "stop screen share" (round).
  static const IconData stop_screen_share_rounded = IconData(0xf01dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stop_screen_share</i> &#x2014; material icon named "stop screen share" (outlined).
  static const IconData stop_screen_share_outlined = IconData(0xf3eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">storage</i> &#x2014; material icon named "storage".
  static const IconData storage = IconData(0xe609, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">storage</i> &#x2014; material icon named "storage" (sharp).
  static const IconData storage_sharp = IconData(0xecff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">storage</i> &#x2014; material icon named "storage" (round).
  static const IconData storage_rounded = IconData(0xf01de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">storage</i> &#x2014; material icon named "storage" (outlined).
  static const IconData storage_outlined = IconData(0xf3ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">store</i> &#x2014; material icon named "store".
  static const IconData store = IconData(0xe60a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">store</i> &#x2014; material icon named "store" (sharp).
  static const IconData store_sharp = IconData(0xed01, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">store</i> &#x2014; material icon named "store" (round).
  static const IconData store_rounded = IconData(0xf01e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">store</i> &#x2014; material icon named "store" (outlined).
  static const IconData store_outlined = IconData(0xf3ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">store_mall_directory</i> &#x2014; material icon named "store mall directory".
  static const IconData store_mall_directory = IconData(0xe60b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">store_mall_directory</i> &#x2014; material icon named "store mall directory" (sharp).
  static const IconData store_mall_directory_sharp = IconData(0xed00, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">store_mall_directory</i> &#x2014; material icon named "store mall directory" (round).
  static const IconData store_mall_directory_rounded = IconData(0xf01df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">store_mall_directory</i> &#x2014; material icon named "store mall directory" (outlined).
  static const IconData store_mall_directory_outlined = IconData(0xf3ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">storefront</i> &#x2014; material icon named "storefront".
  static const IconData storefront = IconData(0xe60c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">storefront</i> &#x2014; material icon named "storefront" (sharp).
  static const IconData storefront_sharp = IconData(0xed02, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">storefront</i> &#x2014; material icon named "storefront" (round).
  static const IconData storefront_rounded = IconData(0xf01e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">storefront</i> &#x2014; material icon named "storefront" (outlined).
  static const IconData storefront_outlined = IconData(0xf3ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">storm</i> &#x2014; material icon named "storm".
  static const IconData storm = IconData(0xe60d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">storm</i> &#x2014; material icon named "storm" (sharp).
  static const IconData storm_sharp = IconData(0xed03, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">storm</i> &#x2014; material icon named "storm" (round).
  static const IconData storm_rounded = IconData(0xf01e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">storm</i> &#x2014; material icon named "storm" (outlined).
  static const IconData storm_outlined = IconData(0xf3f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">straight</i> &#x2014; material icon named "straight".
  static const IconData straight = IconData(0xf0574, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">straight</i> &#x2014; material icon named "straight" (sharp).
  static const IconData straight_sharp = IconData(0xf047c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">straight</i> &#x2014; material icon named "straight" (round).
  static const IconData straight_rounded = IconData(0xf0389, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">straight</i> &#x2014; material icon named "straight" (outlined).
  static const IconData straight_outlined = IconData(0xf066a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">straighten</i> &#x2014; material icon named "straighten".
  static const IconData straighten = IconData(0xe60e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">straighten</i> &#x2014; material icon named "straighten" (sharp).
  static const IconData straighten_sharp = IconData(0xed04, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">straighten</i> &#x2014; material icon named "straighten" (round).
  static const IconData straighten_rounded = IconData(0xf01e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">straighten</i> &#x2014; material icon named "straighten" (outlined).
  static const IconData straighten_outlined = IconData(0xf3f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stream</i> &#x2014; material icon named "stream".
  static const IconData stream = IconData(0xe60f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stream</i> &#x2014; material icon named "stream" (sharp).
  static const IconData stream_sharp = IconData(0xed05, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stream</i> &#x2014; material icon named "stream" (round).
  static const IconData stream_rounded = IconData(0xf01e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stream</i> &#x2014; material icon named "stream" (outlined).
  static const IconData stream_outlined = IconData(0xf3f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">streetview</i> &#x2014; material icon named "streetview".
  static const IconData streetview = IconData(0xe610, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">streetview</i> &#x2014; material icon named "streetview" (sharp).
  static const IconData streetview_sharp = IconData(0xed06, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">streetview</i> &#x2014; material icon named "streetview" (round).
  static const IconData streetview_rounded = IconData(0xf01e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">streetview</i> &#x2014; material icon named "streetview" (outlined).
  static const IconData streetview_outlined = IconData(0xf3f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">strikethrough_s</i> &#x2014; material icon named "strikethrough s".
  static const IconData strikethrough_s = IconData(0xe611, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">strikethrough_s</i> &#x2014; material icon named "strikethrough s" (sharp).
  static const IconData strikethrough_s_sharp = IconData(0xed07, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">strikethrough_s</i> &#x2014; material icon named "strikethrough s" (round).
  static const IconData strikethrough_s_rounded = IconData(0xf01e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">strikethrough_s</i> &#x2014; material icon named "strikethrough s" (outlined).
  static const IconData strikethrough_s_outlined = IconData(0xf3f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stroller</i> &#x2014; material icon named "stroller".
  static const IconData stroller = IconData(0xe612, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stroller</i> &#x2014; material icon named "stroller" (sharp).
  static const IconData stroller_sharp = IconData(0xed08, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stroller</i> &#x2014; material icon named "stroller" (round).
  static const IconData stroller_rounded = IconData(0xf01e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stroller</i> &#x2014; material icon named "stroller" (outlined).
  static const IconData stroller_outlined = IconData(0xf3f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">style</i> &#x2014; material icon named "style".
  static const IconData style = IconData(0xe613, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">style</i> &#x2014; material icon named "style" (sharp).
  static const IconData style_sharp = IconData(0xed09, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">style</i> &#x2014; material icon named "style" (round).
  static const IconData style_rounded = IconData(0xf01e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">style</i> &#x2014; material icon named "style" (outlined).
  static const IconData style_outlined = IconData(0xf3f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">subdirectory_arrow_left</i> &#x2014; material icon named "subdirectory arrow left".
  static const IconData subdirectory_arrow_left = IconData(0xe614, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">subdirectory_arrow_left</i> &#x2014; material icon named "subdirectory arrow left" (sharp).
  static const IconData subdirectory_arrow_left_sharp = IconData(0xed0a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">subdirectory_arrow_left</i> &#x2014; material icon named "subdirectory arrow left" (round).
  static const IconData subdirectory_arrow_left_rounded = IconData(0xf01e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">subdirectory_arrow_left</i> &#x2014; material icon named "subdirectory arrow left" (outlined).
  static const IconData subdirectory_arrow_left_outlined = IconData(0xf3f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">subdirectory_arrow_right</i> &#x2014; material icon named "subdirectory arrow right".
  static const IconData subdirectory_arrow_right = IconData(0xe615, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">subdirectory_arrow_right</i> &#x2014; material icon named "subdirectory arrow right" (sharp).
  static const IconData subdirectory_arrow_right_sharp = IconData(0xed0b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">subdirectory_arrow_right</i> &#x2014; material icon named "subdirectory arrow right" (round).
  static const IconData subdirectory_arrow_right_rounded = IconData(0xf01ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">subdirectory_arrow_right</i> &#x2014; material icon named "subdirectory arrow right" (outlined).
  static const IconData subdirectory_arrow_right_outlined = IconData(0xf3f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">subject</i> &#x2014; material icon named "subject".
  static const IconData subject = IconData(0xe616, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">subject</i> &#x2014; material icon named "subject" (sharp).
  static const IconData subject_sharp = IconData(0xed0c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">subject</i> &#x2014; material icon named "subject" (round).
  static const IconData subject_rounded = IconData(0xf01eb, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">subject</i> &#x2014; material icon named "subject" (outlined).
  static const IconData subject_outlined = IconData(0xf3f9, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">subscript</i> &#x2014; material icon named "subscript".
  static const IconData subscript = IconData(0xe617, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">subscript</i> &#x2014; material icon named "subscript" (sharp).
  static const IconData subscript_sharp = IconData(0xed0d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">subscript</i> &#x2014; material icon named "subscript" (round).
  static const IconData subscript_rounded = IconData(0xf01ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">subscript</i> &#x2014; material icon named "subscript" (outlined).
  static const IconData subscript_outlined = IconData(0xf3fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">subscriptions</i> &#x2014; material icon named "subscriptions".
  static const IconData subscriptions = IconData(0xe618, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">subscriptions</i> &#x2014; material icon named "subscriptions" (sharp).
  static const IconData subscriptions_sharp = IconData(0xed0e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">subscriptions</i> &#x2014; material icon named "subscriptions" (round).
  static const IconData subscriptions_rounded = IconData(0xf01ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">subscriptions</i> &#x2014; material icon named "subscriptions" (outlined).
  static const IconData subscriptions_outlined = IconData(0xf3fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">subtitles</i> &#x2014; material icon named "subtitles".
  static const IconData subtitles = IconData(0xe619, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">subtitles</i> &#x2014; material icon named "subtitles" (sharp).
  static const IconData subtitles_sharp = IconData(0xed10, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">subtitles</i> &#x2014; material icon named "subtitles" (round).
  static const IconData subtitles_rounded = IconData(0xf01ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">subtitles</i> &#x2014; material icon named "subtitles" (outlined).
  static const IconData subtitles_outlined = IconData(0xf3fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">subtitles_off</i> &#x2014; material icon named "subtitles off".
  static const IconData subtitles_off = IconData(0xe61a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">subtitles_off</i> &#x2014; material icon named "subtitles off" (sharp).
  static const IconData subtitles_off_sharp = IconData(0xed0f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">subtitles_off</i> &#x2014; material icon named "subtitles off" (round).
  static const IconData subtitles_off_rounded = IconData(0xf01ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">subtitles_off</i> &#x2014; material icon named "subtitles off" (outlined).
  static const IconData subtitles_off_outlined = IconData(0xf3fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">subway</i> &#x2014; material icon named "subway".
  static const IconData subway = IconData(0xe61b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">subway</i> &#x2014; material icon named "subway" (sharp).
  static const IconData subway_sharp = IconData(0xed11, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">subway</i> &#x2014; material icon named "subway" (round).
  static const IconData subway_rounded = IconData(0xf01f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">subway</i> &#x2014; material icon named "subway" (outlined).
  static const IconData subway_outlined = IconData(0xf3fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">summarize</i> &#x2014; material icon named "summarize".
  static const IconData summarize = IconData(0xe61c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">summarize</i> &#x2014; material icon named "summarize" (sharp).
  static const IconData summarize_sharp = IconData(0xed12, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">summarize</i> &#x2014; material icon named "summarize" (round).
  static const IconData summarize_rounded = IconData(0xf01f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">summarize</i> &#x2014; material icon named "summarize" (outlined).
  static const IconData summarize_outlined = IconData(0xf3ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sunny</i> &#x2014; material icon named "sunny".
  static const IconData sunny = IconData(0xf0575, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sunny_snowing</i> &#x2014; material icon named "sunny snowing".
  static const IconData sunny_snowing = IconData(0xf0576, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">superscript</i> &#x2014; material icon named "superscript".
  static const IconData superscript = IconData(0xe61d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">superscript</i> &#x2014; material icon named "superscript" (sharp).
  static const IconData superscript_sharp = IconData(0xed13, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">superscript</i> &#x2014; material icon named "superscript" (round).
  static const IconData superscript_rounded = IconData(0xf01f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">superscript</i> &#x2014; material icon named "superscript" (outlined).
  static const IconData superscript_outlined = IconData(0xf400, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">supervised_user_circle</i> &#x2014; material icon named "supervised user circle".
  static const IconData supervised_user_circle = IconData(0xe61e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">supervised_user_circle</i> &#x2014; material icon named "supervised user circle" (sharp).
  static const IconData supervised_user_circle_sharp = IconData(0xed14, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">supervised_user_circle</i> &#x2014; material icon named "supervised user circle" (round).
  static const IconData supervised_user_circle_rounded = IconData(0xf01f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">supervised_user_circle</i> &#x2014; material icon named "supervised user circle" (outlined).
  static const IconData supervised_user_circle_outlined = IconData(0xf401, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">supervisor_account</i> &#x2014; material icon named "supervisor account".
  static const IconData supervisor_account = IconData(0xe61f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">supervisor_account</i> &#x2014; material icon named "supervisor account" (sharp).
  static const IconData supervisor_account_sharp = IconData(0xed15, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">supervisor_account</i> &#x2014; material icon named "supervisor account" (round).
  static const IconData supervisor_account_rounded = IconData(0xf01f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">supervisor_account</i> &#x2014; material icon named "supervisor account" (outlined).
  static const IconData supervisor_account_outlined = IconData(0xf402, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">support</i> &#x2014; material icon named "support".
  static const IconData support = IconData(0xe620, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">support</i> &#x2014; material icon named "support" (sharp).
  static const IconData support_sharp = IconData(0xed17, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">support</i> &#x2014; material icon named "support" (round).
  static const IconData support_rounded = IconData(0xf01f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">support</i> &#x2014; material icon named "support" (outlined).
  static const IconData support_outlined = IconData(0xf404, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">support_agent</i> &#x2014; material icon named "support agent".
  static const IconData support_agent = IconData(0xe621, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">support_agent</i> &#x2014; material icon named "support agent" (sharp).
  static const IconData support_agent_sharp = IconData(0xed16, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">support_agent</i> &#x2014; material icon named "support agent" (round).
  static const IconData support_agent_rounded = IconData(0xf01f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">support_agent</i> &#x2014; material icon named "support agent" (outlined).
  static const IconData support_agent_outlined = IconData(0xf403, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">surfing</i> &#x2014; material icon named "surfing".
  static const IconData surfing = IconData(0xe622, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">surfing</i> &#x2014; material icon named "surfing" (sharp).
  static const IconData surfing_sharp = IconData(0xed18, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">surfing</i> &#x2014; material icon named "surfing" (round).
  static const IconData surfing_rounded = IconData(0xf01f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">surfing</i> &#x2014; material icon named "surfing" (outlined).
  static const IconData surfing_outlined = IconData(0xf405, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">surround_sound</i> &#x2014; material icon named "surround sound".
  static const IconData surround_sound = IconData(0xe623, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">surround_sound</i> &#x2014; material icon named "surround sound" (sharp).
  static const IconData surround_sound_sharp = IconData(0xed19, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">surround_sound</i> &#x2014; material icon named "surround sound" (round).
  static const IconData surround_sound_rounded = IconData(0xf01f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">surround_sound</i> &#x2014; material icon named "surround sound" (outlined).
  static const IconData surround_sound_outlined = IconData(0xf406, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swap_calls</i> &#x2014; material icon named "swap calls".
  static const IconData swap_calls = IconData(0xe624, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swap_calls</i> &#x2014; material icon named "swap calls" (sharp).
  static const IconData swap_calls_sharp = IconData(0xed1a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swap_calls</i> &#x2014; material icon named "swap calls" (round).
  static const IconData swap_calls_rounded = IconData(0xf01f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swap_calls</i> &#x2014; material icon named "swap calls" (outlined).
  static const IconData swap_calls_outlined = IconData(0xf407, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swap_horiz</i> &#x2014; material icon named "swap horiz".
  static const IconData swap_horiz = IconData(0xe625, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swap_horiz</i> &#x2014; material icon named "swap horiz" (sharp).
  static const IconData swap_horiz_sharp = IconData(0xed1b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swap_horiz</i> &#x2014; material icon named "swap horiz" (round).
  static const IconData swap_horiz_rounded = IconData(0xf01fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swap_horiz</i> &#x2014; material icon named "swap horiz" (outlined).
  static const IconData swap_horiz_outlined = IconData(0xf408, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swap_horizontal_circle</i> &#x2014; material icon named "swap horizontal circle".
  static const IconData swap_horizontal_circle = IconData(0xe626, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swap_horizontal_circle</i> &#x2014; material icon named "swap horizontal circle" (sharp).
  static const IconData swap_horizontal_circle_sharp = IconData(0xed1c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swap_horizontal_circle</i> &#x2014; material icon named "swap horizontal circle" (round).
  static const IconData swap_horizontal_circle_rounded = IconData(0xf01fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swap_horizontal_circle</i> &#x2014; material icon named "swap horizontal circle" (outlined).
  static const IconData swap_horizontal_circle_outlined = IconData(0xf409, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swap_vert</i> &#x2014; material icon named "swap vert".
  static const IconData swap_vert = IconData(0xe627, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swap_vert</i> &#x2014; material icon named "swap vert" (sharp).
  static const IconData swap_vert_sharp = IconData(0xed1d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swap_vert</i> &#x2014; material icon named "swap vert" (round).
  static const IconData swap_vert_rounded = IconData(0xf01fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swap_vert</i> &#x2014; material icon named "swap vert" (outlined).
  static const IconData swap_vert_outlined = IconData(0xf40a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swap_vert_circle</i> &#x2014; material icon named "swap vert circle".
  static const IconData swap_vert_circle = IconData(0xe628, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swap_vert_circle</i> &#x2014; material icon named "swap vert circle" (sharp).
  static const IconData swap_vert_circle_sharp = IconData(0xed1e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swap_vert_circle</i> &#x2014; material icon named "swap vert circle" (round).
  static const IconData swap_vert_circle_rounded = IconData(0xf01fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swap_vert_circle</i> &#x2014; material icon named "swap vert circle" (outlined).
  static const IconData swap_vert_circle_outlined = IconData(0xf40b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swap_vertical_circle</i> &#x2014; material icon named "swap vertical circle".
  static const IconData swap_vertical_circle = IconData(0xe628, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swap_vertical_circle</i> &#x2014; material icon named "swap vertical circle" (sharp).
  static const IconData swap_vertical_circle_sharp = IconData(0xed1e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swap_vertical_circle</i> &#x2014; material icon named "swap vertical circle" (round).
  static const IconData swap_vertical_circle_rounded = IconData(0xf01fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swap_vertical_circle</i> &#x2014; material icon named "swap vertical circle" (outlined).
  static const IconData swap_vertical_circle_outlined = IconData(0xf40b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swipe</i> &#x2014; material icon named "swipe".
  static const IconData swipe = IconData(0xe629, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swipe</i> &#x2014; material icon named "swipe" (sharp).
  static const IconData swipe_sharp = IconData(0xed1f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swipe</i> &#x2014; material icon named "swipe" (round).
  static const IconData swipe_rounded = IconData(0xf01fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swipe</i> &#x2014; material icon named "swipe" (outlined).
  static const IconData swipe_outlined = IconData(0xf40c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swipe_down</i> &#x2014; material icon named "swipe down".
  static const IconData swipe_down = IconData(0xf0578, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swipe_down</i> &#x2014; material icon named "swipe down" (sharp).
  static const IconData swipe_down_sharp = IconData(0xf047e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swipe_down</i> &#x2014; material icon named "swipe down" (round).
  static const IconData swipe_down_rounded = IconData(0xf038b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swipe_down</i> &#x2014; material icon named "swipe down" (outlined).
  static const IconData swipe_down_outlined = IconData(0xf066c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swipe_down_alt</i> &#x2014; material icon named "swipe down alt".
  static const IconData swipe_down_alt = IconData(0xf0577, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swipe_down_alt</i> &#x2014; material icon named "swipe down alt" (sharp).
  static const IconData swipe_down_alt_sharp = IconData(0xf047d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swipe_down_alt</i> &#x2014; material icon named "swipe down alt" (round).
  static const IconData swipe_down_alt_rounded = IconData(0xf038a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swipe_down_alt</i> &#x2014; material icon named "swipe down alt" (outlined).
  static const IconData swipe_down_alt_outlined = IconData(0xf066b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swipe_left</i> &#x2014; material icon named "swipe left".
  static const IconData swipe_left = IconData(0xf057a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swipe_left</i> &#x2014; material icon named "swipe left" (sharp).
  static const IconData swipe_left_sharp = IconData(0xf0480, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swipe_left</i> &#x2014; material icon named "swipe left" (round).
  static const IconData swipe_left_rounded = IconData(0xf038d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swipe_left</i> &#x2014; material icon named "swipe left" (outlined).
  static const IconData swipe_left_outlined = IconData(0xf066e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swipe_left_alt</i> &#x2014; material icon named "swipe left alt".
  static const IconData swipe_left_alt = IconData(0xf0579, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swipe_left_alt</i> &#x2014; material icon named "swipe left alt" (sharp).
  static const IconData swipe_left_alt_sharp = IconData(0xf047f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swipe_left_alt</i> &#x2014; material icon named "swipe left alt" (round).
  static const IconData swipe_left_alt_rounded = IconData(0xf038c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swipe_left_alt</i> &#x2014; material icon named "swipe left alt" (outlined).
  static const IconData swipe_left_alt_outlined = IconData(0xf066d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swipe_right</i> &#x2014; material icon named "swipe right".
  static const IconData swipe_right = IconData(0xf057c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swipe_right</i> &#x2014; material icon named "swipe right" (sharp).
  static const IconData swipe_right_sharp = IconData(0xf0482, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swipe_right</i> &#x2014; material icon named "swipe right" (round).
  static const IconData swipe_right_rounded = IconData(0xf038f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swipe_right</i> &#x2014; material icon named "swipe right" (outlined).
  static const IconData swipe_right_outlined = IconData(0xf0670, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swipe_right_alt</i> &#x2014; material icon named "swipe right alt".
  static const IconData swipe_right_alt = IconData(0xf057b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swipe_right_alt</i> &#x2014; material icon named "swipe right alt" (sharp).
  static const IconData swipe_right_alt_sharp = IconData(0xf0481, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swipe_right_alt</i> &#x2014; material icon named "swipe right alt" (round).
  static const IconData swipe_right_alt_rounded = IconData(0xf038e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swipe_right_alt</i> &#x2014; material icon named "swipe right alt" (outlined).
  static const IconData swipe_right_alt_outlined = IconData(0xf066f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swipe_up</i> &#x2014; material icon named "swipe up".
  static const IconData swipe_up = IconData(0xf057e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swipe_up</i> &#x2014; material icon named "swipe up" (sharp).
  static const IconData swipe_up_sharp = IconData(0xf0484, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swipe_up</i> &#x2014; material icon named "swipe up" (round).
  static const IconData swipe_up_rounded = IconData(0xf0391, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swipe_up</i> &#x2014; material icon named "swipe up" (outlined).
  static const IconData swipe_up_outlined = IconData(0xf0672, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swipe_up_alt</i> &#x2014; material icon named "swipe up alt".
  static const IconData swipe_up_alt = IconData(0xf057d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swipe_up_alt</i> &#x2014; material icon named "swipe up alt" (sharp).
  static const IconData swipe_up_alt_sharp = IconData(0xf0483, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swipe_up_alt</i> &#x2014; material icon named "swipe up alt" (round).
  static const IconData swipe_up_alt_rounded = IconData(0xf0390, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swipe_up_alt</i> &#x2014; material icon named "swipe up alt" (outlined).
  static const IconData swipe_up_alt_outlined = IconData(0xf0671, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swipe_vertical</i> &#x2014; material icon named "swipe vertical".
  static const IconData swipe_vertical = IconData(0xf057f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swipe_vertical</i> &#x2014; material icon named "swipe vertical" (sharp).
  static const IconData swipe_vertical_sharp = IconData(0xf0485, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swipe_vertical</i> &#x2014; material icon named "swipe vertical" (round).
  static const IconData swipe_vertical_rounded = IconData(0xf0392, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swipe_vertical</i> &#x2014; material icon named "swipe vertical" (outlined).
  static const IconData swipe_vertical_outlined = IconData(0xf0673, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">switch_access_shortcut</i> &#x2014; material icon named "switch access shortcut".
  static const IconData switch_access_shortcut = IconData(0xf0581, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">switch_access_shortcut</i> &#x2014; material icon named "switch access shortcut" (sharp).
  static const IconData switch_access_shortcut_sharp = IconData(0xf0487, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">switch_access_shortcut</i> &#x2014; material icon named "switch access shortcut" (round).
  static const IconData switch_access_shortcut_rounded = IconData(0xf0394, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">switch_access_shortcut</i> &#x2014; material icon named "switch access shortcut" (outlined).
  static const IconData switch_access_shortcut_outlined = IconData(0xf0675, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">switch_access_shortcut_add</i> &#x2014; material icon named "switch access shortcut add".
  static const IconData switch_access_shortcut_add = IconData(0xf0580, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">switch_access_shortcut_add</i> &#x2014; material icon named "switch access shortcut add" (sharp).
  static const IconData switch_access_shortcut_add_sharp = IconData(0xf0486, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">switch_access_shortcut_add</i> &#x2014; material icon named "switch access shortcut add" (round).
  static const IconData switch_access_shortcut_add_rounded = IconData(0xf0393, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">switch_access_shortcut_add</i> &#x2014; material icon named "switch access shortcut add" (outlined).
  static const IconData switch_access_shortcut_add_outlined = IconData(0xf0674, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">switch_account</i> &#x2014; material icon named "switch account".
  static const IconData switch_account = IconData(0xe62a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">switch_account</i> &#x2014; material icon named "switch account" (sharp).
  static const IconData switch_account_sharp = IconData(0xed20, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">switch_account</i> &#x2014; material icon named "switch account" (round).
  static const IconData switch_account_rounded = IconData(0xf01ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">switch_account</i> &#x2014; material icon named "switch account" (outlined).
  static const IconData switch_account_outlined = IconData(0xf40d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">switch_camera</i> &#x2014; material icon named "switch camera".
  static const IconData switch_camera = IconData(0xe62b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">switch_camera</i> &#x2014; material icon named "switch camera" (sharp).
  static const IconData switch_camera_sharp = IconData(0xed21, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">switch_camera</i> &#x2014; material icon named "switch camera" (round).
  static const IconData switch_camera_rounded = IconData(0xf0200, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">switch_camera</i> &#x2014; material icon named "switch camera" (outlined).
  static const IconData switch_camera_outlined = IconData(0xf40e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">switch_left</i> &#x2014; material icon named "switch left".
  static const IconData switch_left = IconData(0xe62c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">switch_left</i> &#x2014; material icon named "switch left" (sharp).
  static const IconData switch_left_sharp = IconData(0xed22, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">switch_left</i> &#x2014; material icon named "switch left" (round).
  static const IconData switch_left_rounded = IconData(0xf0201, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">switch_left</i> &#x2014; material icon named "switch left" (outlined).
  static const IconData switch_left_outlined = IconData(0xf40f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">switch_right</i> &#x2014; material icon named "switch right".
  static const IconData switch_right = IconData(0xe62d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">switch_right</i> &#x2014; material icon named "switch right" (sharp).
  static const IconData switch_right_sharp = IconData(0xed23, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">switch_right</i> &#x2014; material icon named "switch right" (round).
  static const IconData switch_right_rounded = IconData(0xf0202, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">switch_right</i> &#x2014; material icon named "switch right" (outlined).
  static const IconData switch_right_outlined = IconData(0xf410, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">switch_video</i> &#x2014; material icon named "switch video".
  static const IconData switch_video = IconData(0xe62e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">switch_video</i> &#x2014; material icon named "switch video" (sharp).
  static const IconData switch_video_sharp = IconData(0xed24, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">switch_video</i> &#x2014; material icon named "switch video" (round).
  static const IconData switch_video_rounded = IconData(0xf0203, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">switch_video</i> &#x2014; material icon named "switch video" (outlined).
  static const IconData switch_video_outlined = IconData(0xf411, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">synagogue</i> &#x2014; material icon named "synagogue".
  static const IconData synagogue = IconData(0xf0582, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">synagogue</i> &#x2014; material icon named "synagogue" (sharp).
  static const IconData synagogue_sharp = IconData(0xf0488, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">synagogue</i> &#x2014; material icon named "synagogue" (round).
  static const IconData synagogue_rounded = IconData(0xf0395, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">synagogue</i> &#x2014; material icon named "synagogue" (outlined).
  static const IconData synagogue_outlined = IconData(0xf0676, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sync</i> &#x2014; material icon named "sync".
  static const IconData sync = IconData(0xe62f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sync</i> &#x2014; material icon named "sync" (sharp).
  static const IconData sync_sharp = IconData(0xed28, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sync</i> &#x2014; material icon named "sync" (round).
  static const IconData sync_rounded = IconData(0xf0207, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sync</i> &#x2014; material icon named "sync" (outlined).
  static const IconData sync_outlined = IconData(0xf414, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sync_alt</i> &#x2014; material icon named "sync alt".
  static const IconData sync_alt = IconData(0xe630, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sync_alt</i> &#x2014; material icon named "sync alt" (sharp).
  static const IconData sync_alt_sharp = IconData(0xed25, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sync_alt</i> &#x2014; material icon named "sync alt" (round).
  static const IconData sync_alt_rounded = IconData(0xf0204, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sync_alt</i> &#x2014; material icon named "sync alt" (outlined).
  static const IconData sync_alt_outlined = IconData(0xf412, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sync_disabled</i> &#x2014; material icon named "sync disabled".
  static const IconData sync_disabled = IconData(0xe631, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sync_disabled</i> &#x2014; material icon named "sync disabled" (sharp).
  static const IconData sync_disabled_sharp = IconData(0xed26, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sync_disabled</i> &#x2014; material icon named "sync disabled" (round).
  static const IconData sync_disabled_rounded = IconData(0xf0205, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sync_disabled</i> &#x2014; material icon named "sync disabled" (outlined).
  static const IconData sync_disabled_outlined = IconData(0xf413, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sync_lock</i> &#x2014; material icon named "sync lock".
  static const IconData sync_lock = IconData(0xf0583, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sync_lock</i> &#x2014; material icon named "sync lock" (sharp).
  static const IconData sync_lock_sharp = IconData(0xf0489, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sync_lock</i> &#x2014; material icon named "sync lock" (round).
  static const IconData sync_lock_rounded = IconData(0xf0396, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sync_lock</i> &#x2014; material icon named "sync lock" (outlined).
  static const IconData sync_lock_outlined = IconData(0xf0677, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sync_problem</i> &#x2014; material icon named "sync problem".
  static const IconData sync_problem = IconData(0xe632, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sync_problem</i> &#x2014; material icon named "sync problem" (sharp).
  static const IconData sync_problem_sharp = IconData(0xed27, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sync_problem</i> &#x2014; material icon named "sync problem" (round).
  static const IconData sync_problem_rounded = IconData(0xf0206, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sync_problem</i> &#x2014; material icon named "sync problem" (outlined).
  static const IconData sync_problem_outlined = IconData(0xf415, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">system_security_update</i> &#x2014; material icon named "system security update".
  static const IconData system_security_update = IconData(0xe633, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">system_security_update</i> &#x2014; material icon named "system security update" (sharp).
  static const IconData system_security_update_sharp = IconData(0xed2a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">system_security_update</i> &#x2014; material icon named "system security update" (round).
  static const IconData system_security_update_rounded = IconData(0xf0209, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">system_security_update</i> &#x2014; material icon named "system security update" (outlined).
  static const IconData system_security_update_outlined = IconData(0xf417, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">system_security_update_good</i> &#x2014; material icon named "system security update good".
  static const IconData system_security_update_good = IconData(0xe634, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">system_security_update_good</i> &#x2014; material icon named "system security update good" (sharp).
  static const IconData system_security_update_good_sharp = IconData(0xed29, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">system_security_update_good</i> &#x2014; material icon named "system security update good" (round).
  static const IconData system_security_update_good_rounded = IconData(0xf0208, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">system_security_update_good</i> &#x2014; material icon named "system security update good" (outlined).
  static const IconData system_security_update_good_outlined = IconData(0xf416, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">system_security_update_warning</i> &#x2014; material icon named "system security update warning".
  static const IconData system_security_update_warning = IconData(0xe635, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">system_security_update_warning</i> &#x2014; material icon named "system security update warning" (sharp).
  static const IconData system_security_update_warning_sharp = IconData(0xed2b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">system_security_update_warning</i> &#x2014; material icon named "system security update warning" (round).
  static const IconData system_security_update_warning_rounded = IconData(0xf020a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">system_security_update_warning</i> &#x2014; material icon named "system security update warning" (outlined).
  static const IconData system_security_update_warning_outlined = IconData(0xf418, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">system_update</i> &#x2014; material icon named "system update".
  static const IconData system_update = IconData(0xe636, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">system_update</i> &#x2014; material icon named "system update" (sharp).
  static const IconData system_update_sharp = IconData(0xed2d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">system_update</i> &#x2014; material icon named "system update" (round).
  static const IconData system_update_rounded = IconData(0xf020c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">system_update</i> &#x2014; material icon named "system update" (outlined).
  static const IconData system_update_outlined = IconData(0xf41a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">system_update_alt</i> &#x2014; material icon named "system update alt".
  static const IconData system_update_alt = IconData(0xe637, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">system_update_alt</i> &#x2014; material icon named "system update alt" (sharp).
  static const IconData system_update_alt_sharp = IconData(0xed2c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">system_update_alt</i> &#x2014; material icon named "system update alt" (round).
  static const IconData system_update_alt_rounded = IconData(0xf020b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">system_update_alt</i> &#x2014; material icon named "system update alt" (outlined).
  static const IconData system_update_alt_outlined = IconData(0xf419, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">system_update_tv</i> &#x2014; material icon named "system update tv".
  static const IconData system_update_tv = IconData(0xe637, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">system_update_tv</i> &#x2014; material icon named "system update tv" (sharp).
  static const IconData system_update_tv_sharp = IconData(0xed2c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">system_update_tv</i> &#x2014; material icon named "system update tv" (round).
  static const IconData system_update_tv_rounded = IconData(0xf020b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">system_update_tv</i> &#x2014; material icon named "system update tv" (outlined).
  static const IconData system_update_tv_outlined = IconData(0xf419, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tab</i> &#x2014; material icon named "tab".
  static const IconData tab = IconData(0xe638, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tab</i> &#x2014; material icon named "tab" (sharp).
  static const IconData tab_sharp = IconData(0xed2e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tab</i> &#x2014; material icon named "tab" (round).
  static const IconData tab_rounded = IconData(0xf020d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tab</i> &#x2014; material icon named "tab" (outlined).
  static const IconData tab_outlined = IconData(0xf41b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tab_unselected</i> &#x2014; material icon named "tab unselected".
  static const IconData tab_unselected = IconData(0xe639, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tab_unselected</i> &#x2014; material icon named "tab unselected" (sharp).
  static const IconData tab_unselected_sharp = IconData(0xed2f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tab_unselected</i> &#x2014; material icon named "tab unselected" (round).
  static const IconData tab_unselected_rounded = IconData(0xf020e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tab_unselected</i> &#x2014; material icon named "tab unselected" (outlined).
  static const IconData tab_unselected_outlined = IconData(0xf41c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">table_bar</i> &#x2014; material icon named "table bar".
  static const IconData table_bar = IconData(0xf0584, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">table_bar</i> &#x2014; material icon named "table bar" (sharp).
  static const IconData table_bar_sharp = IconData(0xf048a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">table_bar</i> &#x2014; material icon named "table bar" (round).
  static const IconData table_bar_rounded = IconData(0xf0397, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">table_bar</i> &#x2014; material icon named "table bar" (outlined).
  static const IconData table_bar_outlined = IconData(0xf0678, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">table_chart</i> &#x2014; material icon named "table chart".
  static const IconData table_chart = IconData(0xe63a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">table_chart</i> &#x2014; material icon named "table chart" (sharp).
  static const IconData table_chart_sharp = IconData(0xed30, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">table_chart</i> &#x2014; material icon named "table chart" (round).
  static const IconData table_chart_rounded = IconData(0xf020f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">table_chart</i> &#x2014; material icon named "table chart" (outlined).
  static const IconData table_chart_outlined = IconData(0xf41d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">table_restaurant</i> &#x2014; material icon named "table restaurant".
  static const IconData table_restaurant = IconData(0xf0585, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">table_restaurant</i> &#x2014; material icon named "table restaurant" (sharp).
  static const IconData table_restaurant_sharp = IconData(0xf048b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">table_restaurant</i> &#x2014; material icon named "table restaurant" (round).
  static const IconData table_restaurant_rounded = IconData(0xf0398, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">table_restaurant</i> &#x2014; material icon named "table restaurant" (outlined).
  static const IconData table_restaurant_outlined = IconData(0xf0679, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">table_rows</i> &#x2014; material icon named "table rows".
  static const IconData table_rows = IconData(0xe63b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">table_rows</i> &#x2014; material icon named "table rows" (sharp).
  static const IconData table_rows_sharp = IconData(0xed31, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">table_rows</i> &#x2014; material icon named "table rows" (round).
  static const IconData table_rows_rounded = IconData(0xf0210, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">table_rows</i> &#x2014; material icon named "table rows" (outlined).
  static const IconData table_rows_outlined = IconData(0xf41e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">table_view</i> &#x2014; material icon named "table view".
  static const IconData table_view = IconData(0xe63c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">table_view</i> &#x2014; material icon named "table view" (sharp).
  static const IconData table_view_sharp = IconData(0xed32, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">table_view</i> &#x2014; material icon named "table view" (round).
  static const IconData table_view_rounded = IconData(0xf0211, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">table_view</i> &#x2014; material icon named "table view" (outlined).
  static const IconData table_view_outlined = IconData(0xf41f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tablet</i> &#x2014; material icon named "tablet".
  static const IconData tablet = IconData(0xe63d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tablet</i> &#x2014; material icon named "tablet" (sharp).
  static const IconData tablet_sharp = IconData(0xed35, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tablet</i> &#x2014; material icon named "tablet" (round).
  static const IconData tablet_rounded = IconData(0xf0214, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tablet</i> &#x2014; material icon named "tablet" (outlined).
  static const IconData tablet_outlined = IconData(0xf422, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tablet_android</i> &#x2014; material icon named "tablet android".
  static const IconData tablet_android = IconData(0xe63e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tablet_android</i> &#x2014; material icon named "tablet android" (sharp).
  static const IconData tablet_android_sharp = IconData(0xed33, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tablet_android</i> &#x2014; material icon named "tablet android" (round).
  static const IconData tablet_android_rounded = IconData(0xf0212, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tablet_android</i> &#x2014; material icon named "tablet android" (outlined).
  static const IconData tablet_android_outlined = IconData(0xf420, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tablet_mac</i> &#x2014; material icon named "tablet mac".
  static const IconData tablet_mac = IconData(0xe63f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tablet_mac</i> &#x2014; material icon named "tablet mac" (sharp).
  static const IconData tablet_mac_sharp = IconData(0xed34, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tablet_mac</i> &#x2014; material icon named "tablet mac" (round).
  static const IconData tablet_mac_rounded = IconData(0xf0213, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tablet_mac</i> &#x2014; material icon named "tablet mac" (outlined).
  static const IconData tablet_mac_outlined = IconData(0xf421, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tag</i> &#x2014; material icon named "tag".
  static const IconData tag = IconData(0xe640, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tag</i> &#x2014; material icon named "tag" (sharp).
  static const IconData tag_sharp = IconData(0xed37, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tag</i> &#x2014; material icon named "tag" (round).
  static const IconData tag_rounded = IconData(0xf0216, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tag</i> &#x2014; material icon named "tag" (outlined).
  static const IconData tag_outlined = IconData(0xf424, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tag_faces</i> &#x2014; material icon named "tag faces".
  static const IconData tag_faces = IconData(0xe641, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tag_faces</i> &#x2014; material icon named "tag faces" (sharp).
  static const IconData tag_faces_sharp = IconData(0xed36, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tag_faces</i> &#x2014; material icon named "tag faces" (round).
  static const IconData tag_faces_rounded = IconData(0xf0215, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tag_faces</i> &#x2014; material icon named "tag faces" (outlined).
  static const IconData tag_faces_outlined = IconData(0xf423, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">takeout_dining</i> &#x2014; material icon named "takeout dining".
  static const IconData takeout_dining = IconData(0xe642, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">takeout_dining</i> &#x2014; material icon named "takeout dining" (sharp).
  static const IconData takeout_dining_sharp = IconData(0xed38, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">takeout_dining</i> &#x2014; material icon named "takeout dining" (round).
  static const IconData takeout_dining_rounded = IconData(0xf0217, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">takeout_dining</i> &#x2014; material icon named "takeout dining" (outlined).
  static const IconData takeout_dining_outlined = IconData(0xf425, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tap_and_play</i> &#x2014; material icon named "tap and play".
  static const IconData tap_and_play = IconData(0xe643, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tap_and_play</i> &#x2014; material icon named "tap and play" (sharp).
  static const IconData tap_and_play_sharp = IconData(0xed39, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tap_and_play</i> &#x2014; material icon named "tap and play" (round).
  static const IconData tap_and_play_rounded = IconData(0xf0218, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tap_and_play</i> &#x2014; material icon named "tap and play" (outlined).
  static const IconData tap_and_play_outlined = IconData(0xf426, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tapas</i> &#x2014; material icon named "tapas".
  static const IconData tapas = IconData(0xe644, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tapas</i> &#x2014; material icon named "tapas" (sharp).
  static const IconData tapas_sharp = IconData(0xed3a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tapas</i> &#x2014; material icon named "tapas" (round).
  static const IconData tapas_rounded = IconData(0xf0219, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tapas</i> &#x2014; material icon named "tapas" (outlined).
  static const IconData tapas_outlined = IconData(0xf427, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">task</i> &#x2014; material icon named "task".
  static const IconData task = IconData(0xe645, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">task</i> &#x2014; material icon named "task" (sharp).
  static const IconData task_sharp = IconData(0xed3c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">task</i> &#x2014; material icon named "task" (round).
  static const IconData task_rounded = IconData(0xf021b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">task</i> &#x2014; material icon named "task" (outlined).
  static const IconData task_outlined = IconData(0xf429, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">task_alt</i> &#x2014; material icon named "task alt".
  static const IconData task_alt = IconData(0xe646, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">task_alt</i> &#x2014; material icon named "task alt" (sharp).
  static const IconData task_alt_sharp = IconData(0xed3b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">task_alt</i> &#x2014; material icon named "task alt" (round).
  static const IconData task_alt_rounded = IconData(0xf021a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">task_alt</i> &#x2014; material icon named "task alt" (outlined).
  static const IconData task_alt_outlined = IconData(0xf428, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">taxi_alert</i> &#x2014; material icon named "taxi alert".
  static const IconData taxi_alert = IconData(0xe647, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">taxi_alert</i> &#x2014; material icon named "taxi alert" (sharp).
  static const IconData taxi_alert_sharp = IconData(0xed3d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">taxi_alert</i> &#x2014; material icon named "taxi alert" (round).
  static const IconData taxi_alert_rounded = IconData(0xf021c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">taxi_alert</i> &#x2014; material icon named "taxi alert" (outlined).
  static const IconData taxi_alert_outlined = IconData(0xf42a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">telegram</i> &#x2014; material icon named "telegram".
  static const IconData telegram = IconData(0xf0586, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">telegram</i> &#x2014; material icon named "telegram" (sharp).
  static const IconData telegram_sharp = IconData(0xf048c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">telegram</i> &#x2014; material icon named "telegram" (round).
  static const IconData telegram_rounded = IconData(0xf0399, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">telegram</i> &#x2014; material icon named "telegram" (outlined).
  static const IconData telegram_outlined = IconData(0xf067a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">temple_buddhist</i> &#x2014; material icon named "temple buddhist".
  static const IconData temple_buddhist = IconData(0xf0587, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">temple_buddhist</i> &#x2014; material icon named "temple buddhist" (sharp).
  static const IconData temple_buddhist_sharp = IconData(0xf048d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">temple_buddhist</i> &#x2014; material icon named "temple buddhist" (round).
  static const IconData temple_buddhist_rounded = IconData(0xf039a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">temple_buddhist</i> &#x2014; material icon named "temple buddhist" (outlined).
  static const IconData temple_buddhist_outlined = IconData(0xf067b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">temple_hindu</i> &#x2014; material icon named "temple hindu".
  static const IconData temple_hindu = IconData(0xf0588, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">temple_hindu</i> &#x2014; material icon named "temple hindu" (sharp).
  static const IconData temple_hindu_sharp = IconData(0xf048e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">temple_hindu</i> &#x2014; material icon named "temple hindu" (round).
  static const IconData temple_hindu_rounded = IconData(0xf039b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">temple_hindu</i> &#x2014; material icon named "temple hindu" (outlined).
  static const IconData temple_hindu_outlined = IconData(0xf067c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">terminal</i> &#x2014; material icon named "terminal".
  static const IconData terminal = IconData(0xf0589, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">terminal</i> &#x2014; material icon named "terminal" (sharp).
  static const IconData terminal_sharp = IconData(0xf048f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">terminal</i> &#x2014; material icon named "terminal" (round).
  static const IconData terminal_rounded = IconData(0xf039c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">terminal</i> &#x2014; material icon named "terminal" (outlined).
  static const IconData terminal_outlined = IconData(0xf067d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">terrain</i> &#x2014; material icon named "terrain".
  static const IconData terrain = IconData(0xe648, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">terrain</i> &#x2014; material icon named "terrain" (sharp).
  static const IconData terrain_sharp = IconData(0xed3e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">terrain</i> &#x2014; material icon named "terrain" (round).
  static const IconData terrain_rounded = IconData(0xf021d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">terrain</i> &#x2014; material icon named "terrain" (outlined).
  static const IconData terrain_outlined = IconData(0xf42b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_decrease</i> &#x2014; material icon named "text decrease".
  static const IconData text_decrease = IconData(0xf058a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_decrease</i> &#x2014; material icon named "text decrease" (sharp).
  static const IconData text_decrease_sharp = IconData(0xf0490, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_decrease</i> &#x2014; material icon named "text decrease" (round).
  static const IconData text_decrease_rounded = IconData(0xf039d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_decrease</i> &#x2014; material icon named "text decrease" (outlined).
  static const IconData text_decrease_outlined = IconData(0xf067e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_fields</i> &#x2014; material icon named "text fields".
  static const IconData text_fields = IconData(0xe649, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_fields</i> &#x2014; material icon named "text fields" (sharp).
  static const IconData text_fields_sharp = IconData(0xed3f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_fields</i> &#x2014; material icon named "text fields" (round).
  static const IconData text_fields_rounded = IconData(0xf021e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_fields</i> &#x2014; material icon named "text fields" (outlined).
  static const IconData text_fields_outlined = IconData(0xf42c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_format</i> &#x2014; material icon named "text format".
  static const IconData text_format = IconData(0xe64a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_format</i> &#x2014; material icon named "text format" (sharp).
  static const IconData text_format_sharp = IconData(0xed40, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_format</i> &#x2014; material icon named "text format" (round).
  static const IconData text_format_rounded = IconData(0xf021f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_format</i> &#x2014; material icon named "text format" (outlined).
  static const IconData text_format_outlined = IconData(0xf42d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_increase</i> &#x2014; material icon named "text increase".
  static const IconData text_increase = IconData(0xf058b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_increase</i> &#x2014; material icon named "text increase" (sharp).
  static const IconData text_increase_sharp = IconData(0xf0491, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_increase</i> &#x2014; material icon named "text increase" (round).
  static const IconData text_increase_rounded = IconData(0xf039e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_increase</i> &#x2014; material icon named "text increase" (outlined).
  static const IconData text_increase_outlined = IconData(0xf067f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_rotate_up</i> &#x2014; material icon named "text rotate up".
  static const IconData text_rotate_up = IconData(0xe64b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_rotate_up</i> &#x2014; material icon named "text rotate up" (sharp).
  static const IconData text_rotate_up_sharp = IconData(0xed41, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_rotate_up</i> &#x2014; material icon named "text rotate up" (round).
  static const IconData text_rotate_up_rounded = IconData(0xf0220, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_rotate_up</i> &#x2014; material icon named "text rotate up" (outlined).
  static const IconData text_rotate_up_outlined = IconData(0xf42e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_rotate_vertical</i> &#x2014; material icon named "text rotate vertical".
  static const IconData text_rotate_vertical = IconData(0xe64c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_rotate_vertical</i> &#x2014; material icon named "text rotate vertical" (sharp).
  static const IconData text_rotate_vertical_sharp = IconData(0xed42, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_rotate_vertical</i> &#x2014; material icon named "text rotate vertical" (round).
  static const IconData text_rotate_vertical_rounded = IconData(0xf0221, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_rotate_vertical</i> &#x2014; material icon named "text rotate vertical" (outlined).
  static const IconData text_rotate_vertical_outlined = IconData(0xf42f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_rotation_angledown</i> &#x2014; material icon named "text rotation angledown".
  static const IconData text_rotation_angledown = IconData(0xe64d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_rotation_angledown</i> &#x2014; material icon named "text rotation angledown" (sharp).
  static const IconData text_rotation_angledown_sharp = IconData(0xed43, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_rotation_angledown</i> &#x2014; material icon named "text rotation angledown" (round).
  static const IconData text_rotation_angledown_rounded = IconData(0xf0222, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_rotation_angledown</i> &#x2014; material icon named "text rotation angledown" (outlined).
  static const IconData text_rotation_angledown_outlined = IconData(0xf430, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_rotation_angleup</i> &#x2014; material icon named "text rotation angleup".
  static const IconData text_rotation_angleup = IconData(0xe64e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_rotation_angleup</i> &#x2014; material icon named "text rotation angleup" (sharp).
  static const IconData text_rotation_angleup_sharp = IconData(0xed44, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_rotation_angleup</i> &#x2014; material icon named "text rotation angleup" (round).
  static const IconData text_rotation_angleup_rounded = IconData(0xf0223, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_rotation_angleup</i> &#x2014; material icon named "text rotation angleup" (outlined).
  static const IconData text_rotation_angleup_outlined = IconData(0xf431, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_rotation_down</i> &#x2014; material icon named "text rotation down".
  static const IconData text_rotation_down = IconData(0xe64f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_rotation_down</i> &#x2014; material icon named "text rotation down" (sharp).
  static const IconData text_rotation_down_sharp = IconData(0xed45, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_rotation_down</i> &#x2014; material icon named "text rotation down" (round).
  static const IconData text_rotation_down_rounded = IconData(0xf0224, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_rotation_down</i> &#x2014; material icon named "text rotation down" (outlined).
  static const IconData text_rotation_down_outlined = IconData(0xf432, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_rotation_none</i> &#x2014; material icon named "text rotation none".
  static const IconData text_rotation_none = IconData(0xe650, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_rotation_none</i> &#x2014; material icon named "text rotation none" (sharp).
  static const IconData text_rotation_none_sharp = IconData(0xed46, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_rotation_none</i> &#x2014; material icon named "text rotation none" (round).
  static const IconData text_rotation_none_rounded = IconData(0xf0225, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_rotation_none</i> &#x2014; material icon named "text rotation none" (outlined).
  static const IconData text_rotation_none_outlined = IconData(0xf433, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_snippet</i> &#x2014; material icon named "text snippet".
  static const IconData text_snippet = IconData(0xe651, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_snippet</i> &#x2014; material icon named "text snippet" (sharp).
  static const IconData text_snippet_sharp = IconData(0xed47, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_snippet</i> &#x2014; material icon named "text snippet" (round).
  static const IconData text_snippet_rounded = IconData(0xf0226, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_snippet</i> &#x2014; material icon named "text snippet" (outlined).
  static const IconData text_snippet_outlined = IconData(0xf434, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">textsms</i> &#x2014; material icon named "textsms".
  static const IconData textsms = IconData(0xe652, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">textsms</i> &#x2014; material icon named "textsms" (sharp).
  static const IconData textsms_sharp = IconData(0xed48, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">textsms</i> &#x2014; material icon named "textsms" (round).
  static const IconData textsms_rounded = IconData(0xf0227, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">textsms</i> &#x2014; material icon named "textsms" (outlined).
  static const IconData textsms_outlined = IconData(0xf435, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">texture</i> &#x2014; material icon named "texture".
  static const IconData texture = IconData(0xe653, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">texture</i> &#x2014; material icon named "texture" (sharp).
  static const IconData texture_sharp = IconData(0xed49, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">texture</i> &#x2014; material icon named "texture" (round).
  static const IconData texture_rounded = IconData(0xf0228, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">texture</i> &#x2014; material icon named "texture" (outlined).
  static const IconData texture_outlined = IconData(0xf436, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">theater_comedy</i> &#x2014; material icon named "theater comedy".
  static const IconData theater_comedy = IconData(0xe654, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">theater_comedy</i> &#x2014; material icon named "theater comedy" (sharp).
  static const IconData theater_comedy_sharp = IconData(0xed4a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">theater_comedy</i> &#x2014; material icon named "theater comedy" (round).
  static const IconData theater_comedy_rounded = IconData(0xf0229, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">theater_comedy</i> &#x2014; material icon named "theater comedy" (outlined).
  static const IconData theater_comedy_outlined = IconData(0xf437, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">theaters</i> &#x2014; material icon named "theaters".
  static const IconData theaters = IconData(0xe655, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">theaters</i> &#x2014; material icon named "theaters" (sharp).
  static const IconData theaters_sharp = IconData(0xed4b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">theaters</i> &#x2014; material icon named "theaters" (round).
  static const IconData theaters_rounded = IconData(0xf022a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">theaters</i> &#x2014; material icon named "theaters" (outlined).
  static const IconData theaters_outlined = IconData(0xf438, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">thermostat</i> &#x2014; material icon named "thermostat".
  static const IconData thermostat = IconData(0xe656, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">thermostat</i> &#x2014; material icon named "thermostat" (sharp).
  static const IconData thermostat_sharp = IconData(0xed4d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">thermostat</i> &#x2014; material icon named "thermostat" (round).
  static const IconData thermostat_rounded = IconData(0xf022c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">thermostat</i> &#x2014; material icon named "thermostat" (outlined).
  static const IconData thermostat_outlined = IconData(0xf43a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">thermostat_auto</i> &#x2014; material icon named "thermostat auto".
  static const IconData thermostat_auto = IconData(0xe657, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">thermostat_auto</i> &#x2014; material icon named "thermostat auto" (sharp).
  static const IconData thermostat_auto_sharp = IconData(0xed4c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">thermostat_auto</i> &#x2014; material icon named "thermostat auto" (round).
  static const IconData thermostat_auto_rounded = IconData(0xf022b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">thermostat_auto</i> &#x2014; material icon named "thermostat auto" (outlined).
  static const IconData thermostat_auto_outlined = IconData(0xf439, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">thumb_down</i> &#x2014; material icon named "thumb down".
  static const IconData thumb_down = IconData(0xe658, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">thumb_down</i> &#x2014; material icon named "thumb down" (sharp).
  static const IconData thumb_down_sharp = IconData(0xed50, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">thumb_down</i> &#x2014; material icon named "thumb down" (round).
  static const IconData thumb_down_rounded = IconData(0xf022f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">thumb_down</i> &#x2014; material icon named "thumb down" (outlined).
  static const IconData thumb_down_outlined = IconData(0xf43d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">thumb_down_alt</i> &#x2014; material icon named "thumb down alt".
  static const IconData thumb_down_alt = IconData(0xe659, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">thumb_down_alt</i> &#x2014; material icon named "thumb down alt" (sharp).
  static const IconData thumb_down_alt_sharp = IconData(0xed4e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">thumb_down_alt</i> &#x2014; material icon named "thumb down alt" (round).
  static const IconData thumb_down_alt_rounded = IconData(0xf022d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">thumb_down_alt</i> &#x2014; material icon named "thumb down alt" (outlined).
  static const IconData thumb_down_alt_outlined = IconData(0xf43b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">thumb_down_off_alt</i> &#x2014; material icon named "thumb down off alt".
  static const IconData thumb_down_off_alt = IconData(0xe65a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">thumb_down_off_alt</i> &#x2014; material icon named "thumb down off alt" (sharp).
  static const IconData thumb_down_off_alt_sharp = IconData(0xed4f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">thumb_down_off_alt</i> &#x2014; material icon named "thumb down off alt" (round).
  static const IconData thumb_down_off_alt_rounded = IconData(0xf022e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">thumb_down_off_alt</i> &#x2014; material icon named "thumb down off alt" (outlined).
  static const IconData thumb_down_off_alt_outlined = IconData(0xf43c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">thumb_up</i> &#x2014; material icon named "thumb up".
  static const IconData thumb_up = IconData(0xe65b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">thumb_up</i> &#x2014; material icon named "thumb up" (sharp).
  static const IconData thumb_up_sharp = IconData(0xed53, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">thumb_up</i> &#x2014; material icon named "thumb up" (round).
  static const IconData thumb_up_rounded = IconData(0xf0232, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">thumb_up</i> &#x2014; material icon named "thumb up" (outlined).
  static const IconData thumb_up_outlined = IconData(0xf440, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">thumb_up_alt</i> &#x2014; material icon named "thumb up alt".
  static const IconData thumb_up_alt = IconData(0xe65c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">thumb_up_alt</i> &#x2014; material icon named "thumb up alt" (sharp).
  static const IconData thumb_up_alt_sharp = IconData(0xed51, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">thumb_up_alt</i> &#x2014; material icon named "thumb up alt" (round).
  static const IconData thumb_up_alt_rounded = IconData(0xf0230, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">thumb_up_alt</i> &#x2014; material icon named "thumb up alt" (outlined).
  static const IconData thumb_up_alt_outlined = IconData(0xf43e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">thumb_up_off_alt</i> &#x2014; material icon named "thumb up off alt".
  static const IconData thumb_up_off_alt = IconData(0xe65d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">thumb_up_off_alt</i> &#x2014; material icon named "thumb up off alt" (sharp).
  static const IconData thumb_up_off_alt_sharp = IconData(0xed52, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">thumb_up_off_alt</i> &#x2014; material icon named "thumb up off alt" (round).
  static const IconData thumb_up_off_alt_rounded = IconData(0xf0231, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">thumb_up_off_alt</i> &#x2014; material icon named "thumb up off alt" (outlined).
  static const IconData thumb_up_off_alt_outlined = IconData(0xf43f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">thumbs_up_down</i> &#x2014; material icon named "thumbs up down".
  static const IconData thumbs_up_down = IconData(0xe65e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">thumbs_up_down</i> &#x2014; material icon named "thumbs up down" (sharp).
  static const IconData thumbs_up_down_sharp = IconData(0xed54, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">thumbs_up_down</i> &#x2014; material icon named "thumbs up down" (round).
  static const IconData thumbs_up_down_rounded = IconData(0xf0233, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">thumbs_up_down</i> &#x2014; material icon named "thumbs up down" (outlined).
  static const IconData thumbs_up_down_outlined = IconData(0xf441, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">thunderstorm</i> &#x2014; material icon named "thunderstorm".
  static const IconData thunderstorm = IconData(0xf07cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">thunderstorm</i> &#x2014; material icon named "thunderstorm" (sharp).
  static const IconData thunderstorm_sharp = IconData(0xf0773, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">thunderstorm</i> &#x2014; material icon named "thunderstorm" (round).
  static const IconData thunderstorm_rounded = IconData(0xf0823, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">thunderstorm</i> &#x2014; material icon named "thunderstorm" (outlined).
  static const IconData thunderstorm_outlined = IconData(0xf071b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tiktok</i> &#x2014; material icon named "tiktok".
  static const IconData tiktok = IconData(0xf058c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tiktok</i> &#x2014; material icon named "tiktok" (sharp).
  static const IconData tiktok_sharp = IconData(0xf0492, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tiktok</i> &#x2014; material icon named "tiktok" (round).
  static const IconData tiktok_rounded = IconData(0xf039f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tiktok</i> &#x2014; material icon named "tiktok" (outlined).
  static const IconData tiktok_outlined = IconData(0xf0680, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">time_to_leave</i> &#x2014; material icon named "time to leave".
  static const IconData time_to_leave = IconData(0xe65f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">time_to_leave</i> &#x2014; material icon named "time to leave" (sharp).
  static const IconData time_to_leave_sharp = IconData(0xed55, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">time_to_leave</i> &#x2014; material icon named "time to leave" (round).
  static const IconData time_to_leave_rounded = IconData(0xf0234, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">time_to_leave</i> &#x2014; material icon named "time to leave" (outlined).
  static const IconData time_to_leave_outlined = IconData(0xf442, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">timelapse</i> &#x2014; material icon named "timelapse".
  static const IconData timelapse = IconData(0xe660, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">timelapse</i> &#x2014; material icon named "timelapse" (sharp).
  static const IconData timelapse_sharp = IconData(0xed56, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">timelapse</i> &#x2014; material icon named "timelapse" (round).
  static const IconData timelapse_rounded = IconData(0xf0235, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">timelapse</i> &#x2014; material icon named "timelapse" (outlined).
  static const IconData timelapse_outlined = IconData(0xf443, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">timeline</i> &#x2014; material icon named "timeline".
  static const IconData timeline = IconData(0xe661, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">timeline</i> &#x2014; material icon named "timeline" (sharp).
  static const IconData timeline_sharp = IconData(0xed57, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">timeline</i> &#x2014; material icon named "timeline" (round).
  static const IconData timeline_rounded = IconData(0xf0236, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">timeline</i> &#x2014; material icon named "timeline" (outlined).
  static const IconData timeline_outlined = IconData(0xf444, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">timer</i> &#x2014; material icon named "timer".
  static const IconData timer = IconData(0xe662, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">timer</i> &#x2014; material icon named "timer" (sharp).
  static const IconData timer_sharp = IconData(0xed5d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">timer</i> &#x2014; material icon named "timer" (round).
  static const IconData timer_rounded = IconData(0xf023c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">timer</i> &#x2014; material icon named "timer" (outlined).
  static const IconData timer_outlined = IconData(0xf44a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">timer_10</i> &#x2014; material icon named "timer 10".
  static const IconData timer_10 = IconData(0xe663, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">timer_10</i> &#x2014; material icon named "timer 10" (sharp).
  static const IconData timer_10_sharp = IconData(0xed59, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">timer_10</i> &#x2014; material icon named "timer 10" (round).
  static const IconData timer_10_rounded = IconData(0xf0237, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">timer_10</i> &#x2014; material icon named "timer 10" (outlined).
  static const IconData timer_10_outlined = IconData(0xf445, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">timer_10_select</i> &#x2014; material icon named "timer 10 select".
  static const IconData timer_10_select = IconData(0xe664, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">timer_10_select</i> &#x2014; material icon named "timer 10 select" (sharp).
  static const IconData timer_10_select_sharp = IconData(0xed58, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">timer_10_select</i> &#x2014; material icon named "timer 10 select" (round).
  static const IconData timer_10_select_rounded = IconData(0xf0238, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">timer_10_select</i> &#x2014; material icon named "timer 10 select" (outlined).
  static const IconData timer_10_select_outlined = IconData(0xf446, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">timer_3</i> &#x2014; material icon named "timer 3".
  static const IconData timer_3 = IconData(0xe665, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">timer_3</i> &#x2014; material icon named "timer 3" (sharp).
  static const IconData timer_3_sharp = IconData(0xed5b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">timer_3</i> &#x2014; material icon named "timer 3" (round).
  static const IconData timer_3_rounded = IconData(0xf0239, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">timer_3</i> &#x2014; material icon named "timer 3" (outlined).
  static const IconData timer_3_outlined = IconData(0xf447, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">timer_3_select</i> &#x2014; material icon named "timer 3 select".
  static const IconData timer_3_select = IconData(0xe666, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">timer_3_select</i> &#x2014; material icon named "timer 3 select" (sharp).
  static const IconData timer_3_select_sharp = IconData(0xed5a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">timer_3_select</i> &#x2014; material icon named "timer 3 select" (round).
  static const IconData timer_3_select_rounded = IconData(0xf023a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">timer_3_select</i> &#x2014; material icon named "timer 3 select" (outlined).
  static const IconData timer_3_select_outlined = IconData(0xf448, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">timer_off</i> &#x2014; material icon named "timer off".
  static const IconData timer_off = IconData(0xe667, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">timer_off</i> &#x2014; material icon named "timer off" (sharp).
  static const IconData timer_off_sharp = IconData(0xed5c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">timer_off</i> &#x2014; material icon named "timer off" (round).
  static const IconData timer_off_rounded = IconData(0xf023b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">timer_off</i> &#x2014; material icon named "timer off" (outlined).
  static const IconData timer_off_outlined = IconData(0xf449, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tips_and_updates</i> &#x2014; material icon named "tips and updates".
  static const IconData tips_and_updates = IconData(0xf058d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tips_and_updates</i> &#x2014; material icon named "tips and updates" (sharp).
  static const IconData tips_and_updates_sharp = IconData(0xf0493, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tips_and_updates</i> &#x2014; material icon named "tips and updates" (round).
  static const IconData tips_and_updates_rounded = IconData(0xf03a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tips_and_updates</i> &#x2014; material icon named "tips and updates" (outlined).
  static const IconData tips_and_updates_outlined = IconData(0xf0681, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tire_repair</i> &#x2014; material icon named "tire repair".
  static const IconData tire_repair = IconData(0xf06c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tire_repair</i> &#x2014; material icon named "tire repair" (sharp).
  static const IconData tire_repair_sharp = IconData(0xf06b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tire_repair</i> &#x2014; material icon named "tire repair" (round).
  static const IconData tire_repair_rounded = IconData(0xf06d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tire_repair</i> &#x2014; material icon named "tire repair" (outlined).
  static const IconData tire_repair_outlined = IconData(0xf06aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">title</i> &#x2014; material icon named "title".
  static const IconData title = IconData(0xe668, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">title</i> &#x2014; material icon named "title" (sharp).
  static const IconData title_sharp = IconData(0xed5e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">title</i> &#x2014; material icon named "title" (round).
  static const IconData title_rounded = IconData(0xf023d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">title</i> &#x2014; material icon named "title" (outlined).
  static const IconData title_outlined = IconData(0xf44b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">toc</i> &#x2014; material icon named "toc".
  static const IconData toc = IconData(0xe669, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">toc</i> &#x2014; material icon named "toc" (sharp).
  static const IconData toc_sharp = IconData(0xed5f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">toc</i> &#x2014; material icon named "toc" (round).
  static const IconData toc_rounded = IconData(0xf023e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">toc</i> &#x2014; material icon named "toc" (outlined).
  static const IconData toc_outlined = IconData(0xf44c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">today</i> &#x2014; material icon named "today".
  static const IconData today = IconData(0xe66a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">today</i> &#x2014; material icon named "today" (sharp).
  static const IconData today_sharp = IconData(0xed60, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">today</i> &#x2014; material icon named "today" (round).
  static const IconData today_rounded = IconData(0xf023f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">today</i> &#x2014; material icon named "today" (outlined).
  static const IconData today_outlined = IconData(0xf44d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">toggle_off</i> &#x2014; material icon named "toggle off".
  static const IconData toggle_off = IconData(0xe66b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">toggle_off</i> &#x2014; material icon named "toggle off" (sharp).
  static const IconData toggle_off_sharp = IconData(0xed61, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">toggle_off</i> &#x2014; material icon named "toggle off" (round).
  static const IconData toggle_off_rounded = IconData(0xf0240, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">toggle_off</i> &#x2014; material icon named "toggle off" (outlined).
  static const IconData toggle_off_outlined = IconData(0xf44e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">toggle_on</i> &#x2014; material icon named "toggle on".
  static const IconData toggle_on = IconData(0xe66c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">toggle_on</i> &#x2014; material icon named "toggle on" (sharp).
  static const IconData toggle_on_sharp = IconData(0xed62, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">toggle_on</i> &#x2014; material icon named "toggle on" (round).
  static const IconData toggle_on_rounded = IconData(0xf0241, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">toggle_on</i> &#x2014; material icon named "toggle on" (outlined).
  static const IconData toggle_on_outlined = IconData(0xf44f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">token</i> &#x2014; material icon named "token".
  static const IconData token = IconData(0xf058e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">token</i> &#x2014; material icon named "token" (sharp).
  static const IconData token_sharp = IconData(0xf0494, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">token</i> &#x2014; material icon named "token" (round).
  static const IconData token_rounded = IconData(0xf03a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">token</i> &#x2014; material icon named "token" (outlined).
  static const IconData token_outlined = IconData(0xf0682, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">toll</i> &#x2014; material icon named "toll".
  static const IconData toll = IconData(0xe66d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">toll</i> &#x2014; material icon named "toll" (sharp).
  static const IconData toll_sharp = IconData(0xed63, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">toll</i> &#x2014; material icon named "toll" (round).
  static const IconData toll_rounded = IconData(0xf0242, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">toll</i> &#x2014; material icon named "toll" (outlined).
  static const IconData toll_outlined = IconData(0xf450, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tonality</i> &#x2014; material icon named "tonality".
  static const IconData tonality = IconData(0xe66e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tonality</i> &#x2014; material icon named "tonality" (sharp).
  static const IconData tonality_sharp = IconData(0xed64, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tonality</i> &#x2014; material icon named "tonality" (round).
  static const IconData tonality_rounded = IconData(0xf0243, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tonality</i> &#x2014; material icon named "tonality" (outlined).
  static const IconData tonality_outlined = IconData(0xf451, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">topic</i> &#x2014; material icon named "topic".
  static const IconData topic = IconData(0xe66f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">topic</i> &#x2014; material icon named "topic" (sharp).
  static const IconData topic_sharp = IconData(0xed65, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">topic</i> &#x2014; material icon named "topic" (round).
  static const IconData topic_rounded = IconData(0xf0244, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">topic</i> &#x2014; material icon named "topic" (outlined).
  static const IconData topic_outlined = IconData(0xf452, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tornado</i> &#x2014; material icon named "tornado".
  static const IconData tornado = IconData(0xf07cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tornado</i> &#x2014; material icon named "tornado" (sharp).
  static const IconData tornado_sharp = IconData(0xf0774, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tornado</i> &#x2014; material icon named "tornado" (round).
  static const IconData tornado_rounded = IconData(0xf0824, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tornado</i> &#x2014; material icon named "tornado" (outlined).
  static const IconData tornado_outlined = IconData(0xf071c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">touch_app</i> &#x2014; material icon named "touch app".
  static const IconData touch_app = IconData(0xe670, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">touch_app</i> &#x2014; material icon named "touch app" (sharp).
  static const IconData touch_app_sharp = IconData(0xed66, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">touch_app</i> &#x2014; material icon named "touch app" (round).
  static const IconData touch_app_rounded = IconData(0xf0245, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">touch_app</i> &#x2014; material icon named "touch app" (outlined).
  static const IconData touch_app_outlined = IconData(0xf453, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tour</i> &#x2014; material icon named "tour".
  static const IconData tour = IconData(0xe671, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tour</i> &#x2014; material icon named "tour" (sharp).
  static const IconData tour_sharp = IconData(0xed67, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tour</i> &#x2014; material icon named "tour" (round).
  static const IconData tour_rounded = IconData(0xf0246, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tour</i> &#x2014; material icon named "tour" (outlined).
  static const IconData tour_outlined = IconData(0xf454, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">toys</i> &#x2014; material icon named "toys".
  static const IconData toys = IconData(0xe672, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">toys</i> &#x2014; material icon named "toys" (sharp).
  static const IconData toys_sharp = IconData(0xed68, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">toys</i> &#x2014; material icon named "toys" (round).
  static const IconData toys_rounded = IconData(0xf0247, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">toys</i> &#x2014; material icon named "toys" (outlined).
  static const IconData toys_outlined = IconData(0xf455, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">track_changes</i> &#x2014; material icon named "track changes".
  static const IconData track_changes = IconData(0xe673, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">track_changes</i> &#x2014; material icon named "track changes" (sharp).
  static const IconData track_changes_sharp = IconData(0xed69, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">track_changes</i> &#x2014; material icon named "track changes" (round).
  static const IconData track_changes_rounded = IconData(0xf0248, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">track_changes</i> &#x2014; material icon named "track changes" (outlined).
  static const IconData track_changes_outlined = IconData(0xf456, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">traffic</i> &#x2014; material icon named "traffic".
  static const IconData traffic = IconData(0xe674, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">traffic</i> &#x2014; material icon named "traffic" (sharp).
  static const IconData traffic_sharp = IconData(0xed6a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">traffic</i> &#x2014; material icon named "traffic" (round).
  static const IconData traffic_rounded = IconData(0xf0249, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">traffic</i> &#x2014; material icon named "traffic" (outlined).
  static const IconData traffic_outlined = IconData(0xf457, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">train</i> &#x2014; material icon named "train".
  static const IconData train = IconData(0xe675, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">train</i> &#x2014; material icon named "train" (sharp).
  static const IconData train_sharp = IconData(0xed6b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">train</i> &#x2014; material icon named "train" (round).
  static const IconData train_rounded = IconData(0xf024a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">train</i> &#x2014; material icon named "train" (outlined).
  static const IconData train_outlined = IconData(0xf458, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tram</i> &#x2014; material icon named "tram".
  static const IconData tram = IconData(0xe676, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tram</i> &#x2014; material icon named "tram" (sharp).
  static const IconData tram_sharp = IconData(0xed6c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tram</i> &#x2014; material icon named "tram" (round).
  static const IconData tram_rounded = IconData(0xf024b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tram</i> &#x2014; material icon named "tram" (outlined).
  static const IconData tram_outlined = IconData(0xf459, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">transcribe</i> &#x2014; material icon named "transcribe".
  static const IconData transcribe = IconData(0xf07cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">transcribe</i> &#x2014; material icon named "transcribe" (sharp).
  static const IconData transcribe_sharp = IconData(0xf0775, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">transcribe</i> &#x2014; material icon named "transcribe" (round).
  static const IconData transcribe_rounded = IconData(0xf0825, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">transcribe</i> &#x2014; material icon named "transcribe" (outlined).
  static const IconData transcribe_outlined = IconData(0xf071d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">transfer_within_a_station</i> &#x2014; material icon named "transfer within a station".
  static const IconData transfer_within_a_station = IconData(0xe677, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">transfer_within_a_station</i> &#x2014; material icon named "transfer within a station" (sharp).
  static const IconData transfer_within_a_station_sharp = IconData(0xed6d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">transfer_within_a_station</i> &#x2014; material icon named "transfer within a station" (round).
  static const IconData transfer_within_a_station_rounded = IconData(0xf024c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">transfer_within_a_station</i> &#x2014; material icon named "transfer within a station" (outlined).
  static const IconData transfer_within_a_station_outlined = IconData(0xf45a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">transform</i> &#x2014; material icon named "transform".
  static const IconData transform = IconData(0xe678, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">transform</i> &#x2014; material icon named "transform" (sharp).
  static const IconData transform_sharp = IconData(0xed6e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">transform</i> &#x2014; material icon named "transform" (round).
  static const IconData transform_rounded = IconData(0xf024d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">transform</i> &#x2014; material icon named "transform" (outlined).
  static const IconData transform_outlined = IconData(0xf45b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">transgender</i> &#x2014; material icon named "transgender".
  static const IconData transgender = IconData(0xe679, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">transgender</i> &#x2014; material icon named "transgender" (sharp).
  static const IconData transgender_sharp = IconData(0xed6f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">transgender</i> &#x2014; material icon named "transgender" (round).
  static const IconData transgender_rounded = IconData(0xf024e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">transgender</i> &#x2014; material icon named "transgender" (outlined).
  static const IconData transgender_outlined = IconData(0xf45c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">transit_enterexit</i> &#x2014; material icon named "transit enterexit".
  static const IconData transit_enterexit = IconData(0xe67a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">transit_enterexit</i> &#x2014; material icon named "transit enterexit" (sharp).
  static const IconData transit_enterexit_sharp = IconData(0xed70, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">transit_enterexit</i> &#x2014; material icon named "transit enterexit" (round).
  static const IconData transit_enterexit_rounded = IconData(0xf024f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">transit_enterexit</i> &#x2014; material icon named "transit enterexit" (outlined).
  static const IconData transit_enterexit_outlined = IconData(0xf45d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">translate</i> &#x2014; material icon named "translate".
  static const IconData translate = IconData(0xe67b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">translate</i> &#x2014; material icon named "translate" (sharp).
  static const IconData translate_sharp = IconData(0xed71, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">translate</i> &#x2014; material icon named "translate" (round).
  static const IconData translate_rounded = IconData(0xf0250, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">translate</i> &#x2014; material icon named "translate" (outlined).
  static const IconData translate_outlined = IconData(0xf45e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">travel_explore</i> &#x2014; material icon named "travel explore".
  static const IconData travel_explore = IconData(0xe67c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">travel_explore</i> &#x2014; material icon named "travel explore" (sharp).
  static const IconData travel_explore_sharp = IconData(0xed72, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">travel_explore</i> &#x2014; material icon named "travel explore" (round).
  static const IconData travel_explore_rounded = IconData(0xf0251, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">travel_explore</i> &#x2014; material icon named "travel explore" (outlined).
  static const IconData travel_explore_outlined = IconData(0xf45f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">trending_down</i> &#x2014; material icon named "trending down".
  static const IconData trending_down = IconData(0xe67d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">trending_down</i> &#x2014; material icon named "trending down" (sharp).
  static const IconData trending_down_sharp = IconData(0xed73, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">trending_down</i> &#x2014; material icon named "trending down" (round).
  static const IconData trending_down_rounded = IconData(0xf0252, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">trending_down</i> &#x2014; material icon named "trending down" (outlined).
  static const IconData trending_down_outlined = IconData(0xf460, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">trending_flat</i> &#x2014; material icon named "trending flat".
  static const IconData trending_flat = IconData(0xe67e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">trending_flat</i> &#x2014; material icon named "trending flat" (sharp).
  static const IconData trending_flat_sharp = IconData(0xed74, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">trending_flat</i> &#x2014; material icon named "trending flat" (round).
  static const IconData trending_flat_rounded = IconData(0xf0253, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">trending_flat</i> &#x2014; material icon named "trending flat" (outlined).
  static const IconData trending_flat_outlined = IconData(0xf461, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">trending_neutral</i> &#x2014; material icon named "trending neutral".
  static const IconData trending_neutral = IconData(0xe67e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">trending_neutral</i> &#x2014; material icon named "trending neutral" (sharp).
  static const IconData trending_neutral_sharp = IconData(0xed74, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">trending_neutral</i> &#x2014; material icon named "trending neutral" (round).
  static const IconData trending_neutral_rounded = IconData(0xf0253, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">trending_neutral</i> &#x2014; material icon named "trending neutral" (outlined).
  static const IconData trending_neutral_outlined = IconData(0xf461, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">trending_up</i> &#x2014; material icon named "trending up".
  static const IconData trending_up = IconData(0xe67f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">trending_up</i> &#x2014; material icon named "trending up" (sharp).
  static const IconData trending_up_sharp = IconData(0xed75, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">trending_up</i> &#x2014; material icon named "trending up" (round).
  static const IconData trending_up_rounded = IconData(0xf0254, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">trending_up</i> &#x2014; material icon named "trending up" (outlined).
  static const IconData trending_up_outlined = IconData(0xf462, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">trip_origin</i> &#x2014; material icon named "trip origin".
  static const IconData trip_origin = IconData(0xe680, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">trip_origin</i> &#x2014; material icon named "trip origin" (sharp).
  static const IconData trip_origin_sharp = IconData(0xed76, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">trip_origin</i> &#x2014; material icon named "trip origin" (round).
  static const IconData trip_origin_rounded = IconData(0xf0255, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">trip_origin</i> &#x2014; material icon named "trip origin" (outlined).
  static const IconData trip_origin_outlined = IconData(0xf463, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">trolley</i> &#x2014; material icon named "trolley".
  static const IconData trolley = IconData(0xf0878, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">troubleshoot</i> &#x2014; material icon named "troubleshoot".
  static const IconData troubleshoot = IconData(0xf07ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">troubleshoot</i> &#x2014; material icon named "troubleshoot" (sharp).
  static const IconData troubleshoot_sharp = IconData(0xf0776, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">troubleshoot</i> &#x2014; material icon named "troubleshoot" (round).
  static const IconData troubleshoot_rounded = IconData(0xf0826, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">troubleshoot</i> &#x2014; material icon named "troubleshoot" (outlined).
  static const IconData troubleshoot_outlined = IconData(0xf071e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">try</i> &#x2014; material icon named "try".
  static const IconData try_sms_star = IconData(0xe681, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">try</i> &#x2014; material icon named "try" (sharp).
  static const IconData try_sms_star_sharp = IconData(0xed77, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">try</i> &#x2014; material icon named "try" (round).
  static const IconData try_sms_star_rounded = IconData(0xf0256, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">try</i> &#x2014; material icon named "try" (outlined).
  static const IconData try_sms_star_outlined = IconData(0xf464, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tsunami</i> &#x2014; material icon named "tsunami".
  static const IconData tsunami = IconData(0xf07cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tsunami</i> &#x2014; material icon named "tsunami" (sharp).
  static const IconData tsunami_sharp = IconData(0xf0777, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tsunami</i> &#x2014; material icon named "tsunami" (round).
  static const IconData tsunami_rounded = IconData(0xf0827, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tsunami</i> &#x2014; material icon named "tsunami" (outlined).
  static const IconData tsunami_outlined = IconData(0xf071f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tty</i> &#x2014; material icon named "tty".
  static const IconData tty = IconData(0xe682, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tty</i> &#x2014; material icon named "tty" (sharp).
  static const IconData tty_sharp = IconData(0xed78, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tty</i> &#x2014; material icon named "tty" (round).
  static const IconData tty_rounded = IconData(0xf0257, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tty</i> &#x2014; material icon named "tty" (outlined).
  static const IconData tty_outlined = IconData(0xf465, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tune</i> &#x2014; material icon named "tune".
  static const IconData tune = IconData(0xe683, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tune</i> &#x2014; material icon named "tune" (sharp).
  static const IconData tune_sharp = IconData(0xed79, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tune</i> &#x2014; material icon named "tune" (round).
  static const IconData tune_rounded = IconData(0xf0258, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tune</i> &#x2014; material icon named "tune" (outlined).
  static const IconData tune_outlined = IconData(0xf466, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tungsten</i> &#x2014; material icon named "tungsten".
  static const IconData tungsten = IconData(0xe684, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tungsten</i> &#x2014; material icon named "tungsten" (sharp).
  static const IconData tungsten_sharp = IconData(0xed7a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tungsten</i> &#x2014; material icon named "tungsten" (round).
  static const IconData tungsten_rounded = IconData(0xf0259, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tungsten</i> &#x2014; material icon named "tungsten" (outlined).
  static const IconData tungsten_outlined = IconData(0xf467, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">turn_left</i> &#x2014; material icon named "turn left".
  static const IconData turn_left = IconData(0xf058f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">turn_left</i> &#x2014; material icon named "turn left" (sharp).
  static const IconData turn_left_sharp = IconData(0xf0495, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">turn_left</i> &#x2014; material icon named "turn left" (round).
  static const IconData turn_left_rounded = IconData(0xf03a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">turn_left</i> &#x2014; material icon named "turn left" (outlined).
  static const IconData turn_left_outlined = IconData(0xf0683, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">turn_right</i> &#x2014; material icon named "turn right".
  static const IconData turn_right = IconData(0xf0590, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">turn_right</i> &#x2014; material icon named "turn right" (sharp).
  static const IconData turn_right_sharp = IconData(0xf0496, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">turn_right</i> &#x2014; material icon named "turn right" (round).
  static const IconData turn_right_rounded = IconData(0xf03a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">turn_right</i> &#x2014; material icon named "turn right" (outlined).
  static const IconData turn_right_outlined = IconData(0xf0684, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">turn_sharp_left</i> &#x2014; material icon named "turn sharp left".
  static const IconData turn_sharp_left = IconData(0xf0591, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">turn_sharp_left</i> &#x2014; material icon named "turn sharp left" (sharp).
  static const IconData turn_sharp_left_sharp = IconData(0xf0497, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">turn_sharp_left</i> &#x2014; material icon named "turn sharp left" (round).
  static const IconData turn_sharp_left_rounded = IconData(0xf03a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">turn_sharp_left</i> &#x2014; material icon named "turn sharp left" (outlined).
  static const IconData turn_sharp_left_outlined = IconData(0xf0685, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">turn_sharp_right</i> &#x2014; material icon named "turn sharp right".
  static const IconData turn_sharp_right = IconData(0xf0592, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">turn_sharp_right</i> &#x2014; material icon named "turn sharp right" (sharp).
  static const IconData turn_sharp_right_sharp = IconData(0xf0498, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">turn_sharp_right</i> &#x2014; material icon named "turn sharp right" (round).
  static const IconData turn_sharp_right_rounded = IconData(0xf03a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">turn_sharp_right</i> &#x2014; material icon named "turn sharp right" (outlined).
  static const IconData turn_sharp_right_outlined = IconData(0xf0686, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">turn_slight_left</i> &#x2014; material icon named "turn slight left".
  static const IconData turn_slight_left = IconData(0xf0593, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">turn_slight_left</i> &#x2014; material icon named "turn slight left" (sharp).
  static const IconData turn_slight_left_sharp = IconData(0xf0499, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">turn_slight_left</i> &#x2014; material icon named "turn slight left" (round).
  static const IconData turn_slight_left_rounded = IconData(0xf03a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">turn_slight_left</i> &#x2014; material icon named "turn slight left" (outlined).
  static const IconData turn_slight_left_outlined = IconData(0xf0687, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">turn_slight_right</i> &#x2014; material icon named "turn slight right".
  static const IconData turn_slight_right = IconData(0xf0594, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">turn_slight_right</i> &#x2014; material icon named "turn slight right" (sharp).
  static const IconData turn_slight_right_sharp = IconData(0xf049a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">turn_slight_right</i> &#x2014; material icon named "turn slight right" (round).
  static const IconData turn_slight_right_rounded = IconData(0xf03a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">turn_slight_right</i> &#x2014; material icon named "turn slight right" (outlined).
  static const IconData turn_slight_right_outlined = IconData(0xf0688, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">turned_in</i> &#x2014; material icon named "turned in".
  static const IconData turned_in = IconData(0xe685, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">turned_in</i> &#x2014; material icon named "turned in" (sharp).
  static const IconData turned_in_sharp = IconData(0xed7c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">turned_in</i> &#x2014; material icon named "turned in" (round).
  static const IconData turned_in_rounded = IconData(0xf025b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">turned_in</i> &#x2014; material icon named "turned in" (outlined).
  static const IconData turned_in_outlined = IconData(0xf469, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">turned_in_not</i> &#x2014; material icon named "turned in not".
  static const IconData turned_in_not = IconData(0xe686, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">turned_in_not</i> &#x2014; material icon named "turned in not" (sharp).
  static const IconData turned_in_not_sharp = IconData(0xed7b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">turned_in_not</i> &#x2014; material icon named "turned in not" (round).
  static const IconData turned_in_not_rounded = IconData(0xf025a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">turned_in_not</i> &#x2014; material icon named "turned in not" (outlined).
  static const IconData turned_in_not_outlined = IconData(0xf468, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tv</i> &#x2014; material icon named "tv".
  static const IconData tv = IconData(0xe687, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tv</i> &#x2014; material icon named "tv" (sharp).
  static const IconData tv_sharp = IconData(0xed7e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tv</i> &#x2014; material icon named "tv" (round).
  static const IconData tv_rounded = IconData(0xf025d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tv</i> &#x2014; material icon named "tv" (outlined).
  static const IconData tv_outlined = IconData(0xf46b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tv_off</i> &#x2014; material icon named "tv off".
  static const IconData tv_off = IconData(0xe688, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tv_off</i> &#x2014; material icon named "tv off" (sharp).
  static const IconData tv_off_sharp = IconData(0xed7d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tv_off</i> &#x2014; material icon named "tv off" (round).
  static const IconData tv_off_rounded = IconData(0xf025c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tv_off</i> &#x2014; material icon named "tv off" (outlined).
  static const IconData tv_off_outlined = IconData(0xf46a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">two_wheeler</i> &#x2014; material icon named "two wheeler".
  static const IconData two_wheeler = IconData(0xe689, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">two_wheeler</i> &#x2014; material icon named "two wheeler" (sharp).
  static const IconData two_wheeler_sharp = IconData(0xed7f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">two_wheeler</i> &#x2014; material icon named "two wheeler" (round).
  static const IconData two_wheeler_rounded = IconData(0xf025e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">two_wheeler</i> &#x2014; material icon named "two wheeler" (outlined).
  static const IconData two_wheeler_outlined = IconData(0xf46c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">type_specimen</i> &#x2014; material icon named "type specimen".
  static const IconData type_specimen = IconData(0xf07d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">type_specimen</i> &#x2014; material icon named "type specimen" (sharp).
  static const IconData type_specimen_sharp = IconData(0xf0778, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">type_specimen</i> &#x2014; material icon named "type specimen" (round).
  static const IconData type_specimen_rounded = IconData(0xf0828, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">type_specimen</i> &#x2014; material icon named "type specimen" (outlined).
  static const IconData type_specimen_outlined = IconData(0xf0720, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">u_turn_left</i> &#x2014; material icon named "u turn left".
  static const IconData u_turn_left = IconData(0xf0595, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">u_turn_left</i> &#x2014; material icon named "u turn left" (sharp).
  static const IconData u_turn_left_sharp = IconData(0xf049b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">u_turn_left</i> &#x2014; material icon named "u turn left" (round).
  static const IconData u_turn_left_rounded = IconData(0xf03a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">u_turn_left</i> &#x2014; material icon named "u turn left" (outlined).
  static const IconData u_turn_left_outlined = IconData(0xf0689, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">u_turn_right</i> &#x2014; material icon named "u turn right".
  static const IconData u_turn_right = IconData(0xf0596, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">u_turn_right</i> &#x2014; material icon named "u turn right" (sharp).
  static const IconData u_turn_right_sharp = IconData(0xf049c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">u_turn_right</i> &#x2014; material icon named "u turn right" (round).
  static const IconData u_turn_right_rounded = IconData(0xf03a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">u_turn_right</i> &#x2014; material icon named "u turn right" (outlined).
  static const IconData u_turn_right_outlined = IconData(0xf068a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">umbrella</i> &#x2014; material icon named "umbrella".
  static const IconData umbrella = IconData(0xe68a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">umbrella</i> &#x2014; material icon named "umbrella" (sharp).
  static const IconData umbrella_sharp = IconData(0xed80, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">umbrella</i> &#x2014; material icon named "umbrella" (round).
  static const IconData umbrella_rounded = IconData(0xf025f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">umbrella</i> &#x2014; material icon named "umbrella" (outlined).
  static const IconData umbrella_outlined = IconData(0xf46d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">unarchive</i> &#x2014; material icon named "unarchive".
  static const IconData unarchive = IconData(0xe68b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">unarchive</i> &#x2014; material icon named "unarchive" (sharp).
  static const IconData unarchive_sharp = IconData(0xed81, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">unarchive</i> &#x2014; material icon named "unarchive" (round).
  static const IconData unarchive_rounded = IconData(0xf0260, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">unarchive</i> &#x2014; material icon named "unarchive" (outlined).
  static const IconData unarchive_outlined = IconData(0xf46e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">undo</i> &#x2014; material icon named "undo".
  static const IconData undo = IconData(0xe68c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">undo</i> &#x2014; material icon named "undo" (sharp).
  static const IconData undo_sharp = IconData(0xed82, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">undo</i> &#x2014; material icon named "undo" (round).
  static const IconData undo_rounded = IconData(0xf0261, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">undo</i> &#x2014; material icon named "undo" (outlined).
  static const IconData undo_outlined = IconData(0xf46f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">unfold_less</i> &#x2014; material icon named "unfold less".
  static const IconData unfold_less = IconData(0xe68d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">unfold_less</i> &#x2014; material icon named "unfold less" (sharp).
  static const IconData unfold_less_sharp = IconData(0xed83, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">unfold_less</i> &#x2014; material icon named "unfold less" (round).
  static const IconData unfold_less_rounded = IconData(0xf0262, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">unfold_less</i> &#x2014; material icon named "unfold less" (outlined).
  static const IconData unfold_less_outlined = IconData(0xf470, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">unfold_less_double</i> &#x2014; material icon named "unfold less double".
  static const IconData unfold_less_double = IconData(0xf0879, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">unfold_less_double</i> &#x2014; material icon named "unfold less double" (sharp).
  static const IconData unfold_less_double_sharp = IconData(0xf084d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">unfold_less_double</i> &#x2014; material icon named "unfold less double" (round).
  static const IconData unfold_less_double_rounded = IconData(0xf0896, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">unfold_less_double</i> &#x2014; material icon named "unfold less double" (outlined).
  static const IconData unfold_less_double_outlined = IconData(0xf08b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">unfold_more</i> &#x2014; material icon named "unfold more".
  static const IconData unfold_more = IconData(0xe68e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">unfold_more</i> &#x2014; material icon named "unfold more" (sharp).
  static const IconData unfold_more_sharp = IconData(0xed84, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">unfold_more</i> &#x2014; material icon named "unfold more" (round).
  static const IconData unfold_more_rounded = IconData(0xf0263, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">unfold_more</i> &#x2014; material icon named "unfold more" (outlined).
  static const IconData unfold_more_outlined = IconData(0xf471, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">unfold_more_double</i> &#x2014; material icon named "unfold more double".
  static const IconData unfold_more_double = IconData(0xf087a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">unfold_more_double</i> &#x2014; material icon named "unfold more double" (sharp).
  static const IconData unfold_more_double_sharp = IconData(0xf084e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">unfold_more_double</i> &#x2014; material icon named "unfold more double" (round).
  static const IconData unfold_more_double_rounded = IconData(0xf0897, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">unfold_more_double</i> &#x2014; material icon named "unfold more double" (outlined).
  static const IconData unfold_more_double_outlined = IconData(0xf08b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">unpublished</i> &#x2014; material icon named "unpublished".
  static const IconData unpublished = IconData(0xe68f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">unpublished</i> &#x2014; material icon named "unpublished" (sharp).
  static const IconData unpublished_sharp = IconData(0xed85, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">unpublished</i> &#x2014; material icon named "unpublished" (round).
  static const IconData unpublished_rounded = IconData(0xf0264, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">unpublished</i> &#x2014; material icon named "unpublished" (outlined).
  static const IconData unpublished_outlined = IconData(0xf472, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">unsubscribe</i> &#x2014; material icon named "unsubscribe".
  static const IconData unsubscribe = IconData(0xe690, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">unsubscribe</i> &#x2014; material icon named "unsubscribe" (sharp).
  static const IconData unsubscribe_sharp = IconData(0xed86, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">unsubscribe</i> &#x2014; material icon named "unsubscribe" (round).
  static const IconData unsubscribe_rounded = IconData(0xf0265, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">unsubscribe</i> &#x2014; material icon named "unsubscribe" (outlined).
  static const IconData unsubscribe_outlined = IconData(0xf473, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">upcoming</i> &#x2014; material icon named "upcoming".
  static const IconData upcoming = IconData(0xe691, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">upcoming</i> &#x2014; material icon named "upcoming" (sharp).
  static const IconData upcoming_sharp = IconData(0xed87, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">upcoming</i> &#x2014; material icon named "upcoming" (round).
  static const IconData upcoming_rounded = IconData(0xf0266, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">upcoming</i> &#x2014; material icon named "upcoming" (outlined).
  static const IconData upcoming_outlined = IconData(0xf474, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">update</i> &#x2014; material icon named "update".
  static const IconData update = IconData(0xe692, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">update</i> &#x2014; material icon named "update" (sharp).
  static const IconData update_sharp = IconData(0xed89, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">update</i> &#x2014; material icon named "update" (round).
  static const IconData update_rounded = IconData(0xf0268, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">update</i> &#x2014; material icon named "update" (outlined).
  static const IconData update_outlined = IconData(0xf476, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">update_disabled</i> &#x2014; material icon named "update disabled".
  static const IconData update_disabled = IconData(0xe693, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">update_disabled</i> &#x2014; material icon named "update disabled" (sharp).
  static const IconData update_disabled_sharp = IconData(0xed88, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">update_disabled</i> &#x2014; material icon named "update disabled" (round).
  static const IconData update_disabled_rounded = IconData(0xf0267, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">update_disabled</i> &#x2014; material icon named "update disabled" (outlined).
  static const IconData update_disabled_outlined = IconData(0xf475, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">upgrade</i> &#x2014; material icon named "upgrade".
  static const IconData upgrade = IconData(0xe694, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">upgrade</i> &#x2014; material icon named "upgrade" (sharp).
  static const IconData upgrade_sharp = IconData(0xed8a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">upgrade</i> &#x2014; material icon named "upgrade" (round).
  static const IconData upgrade_rounded = IconData(0xf0269, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">upgrade</i> &#x2014; material icon named "upgrade" (outlined).
  static const IconData upgrade_outlined = IconData(0xf477, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">upload</i> &#x2014; material icon named "upload".
  static const IconData upload = IconData(0xe695, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">upload</i> &#x2014; material icon named "upload" (sharp).
  static const IconData upload_sharp = IconData(0xed8c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">upload</i> &#x2014; material icon named "upload" (round).
  static const IconData upload_rounded = IconData(0xf026b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">upload</i> &#x2014; material icon named "upload" (outlined).
  static const IconData upload_outlined = IconData(0xf479, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">upload_file</i> &#x2014; material icon named "upload file".
  static const IconData upload_file = IconData(0xe696, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">upload_file</i> &#x2014; material icon named "upload file" (sharp).
  static const IconData upload_file_sharp = IconData(0xed8b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">upload_file</i> &#x2014; material icon named "upload file" (round).
  static const IconData upload_file_rounded = IconData(0xf026a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">upload_file</i> &#x2014; material icon named "upload file" (outlined).
  static const IconData upload_file_outlined = IconData(0xf478, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">usb</i> &#x2014; material icon named "usb".
  static const IconData usb = IconData(0xe697, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">usb</i> &#x2014; material icon named "usb" (sharp).
  static const IconData usb_sharp = IconData(0xed8e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">usb</i> &#x2014; material icon named "usb" (round).
  static const IconData usb_rounded = IconData(0xf026d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">usb</i> &#x2014; material icon named "usb" (outlined).
  static const IconData usb_outlined = IconData(0xf47b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">usb_off</i> &#x2014; material icon named "usb off".
  static const IconData usb_off = IconData(0xe698, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">usb_off</i> &#x2014; material icon named "usb off" (sharp).
  static const IconData usb_off_sharp = IconData(0xed8d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">usb_off</i> &#x2014; material icon named "usb off" (round).
  static const IconData usb_off_rounded = IconData(0xf026c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">usb_off</i> &#x2014; material icon named "usb off" (outlined).
  static const IconData usb_off_outlined = IconData(0xf47a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vaccines</i> &#x2014; material icon named "vaccines".
  static const IconData vaccines = IconData(0xf0597, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vaccines</i> &#x2014; material icon named "vaccines" (sharp).
  static const IconData vaccines_sharp = IconData(0xf049d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vaccines</i> &#x2014; material icon named "vaccines" (round).
  static const IconData vaccines_rounded = IconData(0xf03aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vaccines</i> &#x2014; material icon named "vaccines" (outlined).
  static const IconData vaccines_outlined = IconData(0xf068b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vape_free</i> &#x2014; material icon named "vape free".
  static const IconData vape_free = IconData(0xf06c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vape_free</i> &#x2014; material icon named "vape free" (sharp).
  static const IconData vape_free_sharp = IconData(0xf06b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vape_free</i> &#x2014; material icon named "vape free" (round).
  static const IconData vape_free_rounded = IconData(0xf06d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vape_free</i> &#x2014; material icon named "vape free" (outlined).
  static const IconData vape_free_outlined = IconData(0xf06ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vaping_rooms</i> &#x2014; material icon named "vaping rooms".
  static const IconData vaping_rooms = IconData(0xf06c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vaping_rooms</i> &#x2014; material icon named "vaping rooms" (sharp).
  static const IconData vaping_rooms_sharp = IconData(0xf06b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vaping_rooms</i> &#x2014; material icon named "vaping rooms" (round).
  static const IconData vaping_rooms_rounded = IconData(0xf06d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vaping_rooms</i> &#x2014; material icon named "vaping rooms" (outlined).
  static const IconData vaping_rooms_outlined = IconData(0xf06ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">verified</i> &#x2014; material icon named "verified".
  static const IconData verified = IconData(0xe699, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">verified</i> &#x2014; material icon named "verified" (sharp).
  static const IconData verified_sharp = IconData(0xed8f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">verified</i> &#x2014; material icon named "verified" (round).
  static const IconData verified_rounded = IconData(0xf026e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">verified</i> &#x2014; material icon named "verified" (outlined).
  static const IconData verified_outlined = IconData(0xf47c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">verified_user</i> &#x2014; material icon named "verified user".
  static const IconData verified_user = IconData(0xe69a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">verified_user</i> &#x2014; material icon named "verified user" (sharp).
  static const IconData verified_user_sharp = IconData(0xed90, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">verified_user</i> &#x2014; material icon named "verified user" (round).
  static const IconData verified_user_rounded = IconData(0xf026f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">verified_user</i> &#x2014; material icon named "verified user" (outlined).
  static const IconData verified_user_outlined = IconData(0xf47d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vertical_align_bottom</i> &#x2014; material icon named "vertical align bottom".
  static const IconData vertical_align_bottom = IconData(0xe69b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vertical_align_bottom</i> &#x2014; material icon named "vertical align bottom" (sharp).
  static const IconData vertical_align_bottom_sharp = IconData(0xed91, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vertical_align_bottom</i> &#x2014; material icon named "vertical align bottom" (round).
  static const IconData vertical_align_bottom_rounded = IconData(0xf0270, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vertical_align_bottom</i> &#x2014; material icon named "vertical align bottom" (outlined).
  static const IconData vertical_align_bottom_outlined = IconData(0xf47e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vertical_align_center</i> &#x2014; material icon named "vertical align center".
  static const IconData vertical_align_center = IconData(0xe69c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vertical_align_center</i> &#x2014; material icon named "vertical align center" (sharp).
  static const IconData vertical_align_center_sharp = IconData(0xed92, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vertical_align_center</i> &#x2014; material icon named "vertical align center" (round).
  static const IconData vertical_align_center_rounded = IconData(0xf0271, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vertical_align_center</i> &#x2014; material icon named "vertical align center" (outlined).
  static const IconData vertical_align_center_outlined = IconData(0xf47f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vertical_align_top</i> &#x2014; material icon named "vertical align top".
  static const IconData vertical_align_top = IconData(0xe69d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vertical_align_top</i> &#x2014; material icon named "vertical align top" (sharp).
  static const IconData vertical_align_top_sharp = IconData(0xed93, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vertical_align_top</i> &#x2014; material icon named "vertical align top" (round).
  static const IconData vertical_align_top_rounded = IconData(0xf0272, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vertical_align_top</i> &#x2014; material icon named "vertical align top" (outlined).
  static const IconData vertical_align_top_outlined = IconData(0xf480, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vertical_distribute</i> &#x2014; material icon named "vertical distribute".
  static const IconData vertical_distribute = IconData(0xe69e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vertical_distribute</i> &#x2014; material icon named "vertical distribute" (sharp).
  static const IconData vertical_distribute_sharp = IconData(0xed94, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vertical_distribute</i> &#x2014; material icon named "vertical distribute" (round).
  static const IconData vertical_distribute_rounded = IconData(0xf0273, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vertical_distribute</i> &#x2014; material icon named "vertical distribute" (outlined).
  static const IconData vertical_distribute_outlined = IconData(0xf481, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vertical_shades</i> &#x2014; material icon named "vertical shades".
  static const IconData vertical_shades = IconData(0xf07d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vertical_shades</i> &#x2014; material icon named "vertical shades" (sharp).
  static const IconData vertical_shades_sharp = IconData(0xf077a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vertical_shades</i> &#x2014; material icon named "vertical shades" (round).
  static const IconData vertical_shades_rounded = IconData(0xf082a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vertical_shades</i> &#x2014; material icon named "vertical shades" (outlined).
  static const IconData vertical_shades_outlined = IconData(0xf0722, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vertical_shades_closed</i> &#x2014; material icon named "vertical shades closed".
  static const IconData vertical_shades_closed = IconData(0xf07d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vertical_shades_closed</i> &#x2014; material icon named "vertical shades closed" (sharp).
  static const IconData vertical_shades_closed_sharp = IconData(0xf0779, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vertical_shades_closed</i> &#x2014; material icon named "vertical shades closed" (round).
  static const IconData vertical_shades_closed_rounded = IconData(0xf0829, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vertical_shades_closed</i> &#x2014; material icon named "vertical shades closed" (outlined).
  static const IconData vertical_shades_closed_outlined = IconData(0xf0721, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vertical_split</i> &#x2014; material icon named "vertical split".
  static const IconData vertical_split = IconData(0xe69f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vertical_split</i> &#x2014; material icon named "vertical split" (sharp).
  static const IconData vertical_split_sharp = IconData(0xed95, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vertical_split</i> &#x2014; material icon named "vertical split" (round).
  static const IconData vertical_split_rounded = IconData(0xf0274, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vertical_split</i> &#x2014; material icon named "vertical split" (outlined).
  static const IconData vertical_split_outlined = IconData(0xf482, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vibration</i> &#x2014; material icon named "vibration".
  static const IconData vibration = IconData(0xe6a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vibration</i> &#x2014; material icon named "vibration" (sharp).
  static const IconData vibration_sharp = IconData(0xed96, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vibration</i> &#x2014; material icon named "vibration" (round).
  static const IconData vibration_rounded = IconData(0xf0275, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vibration</i> &#x2014; material icon named "vibration" (outlined).
  static const IconData vibration_outlined = IconData(0xf483, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">video_call</i> &#x2014; material icon named "video call".
  static const IconData video_call = IconData(0xe6a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">video_call</i> &#x2014; material icon named "video call" (sharp).
  static const IconData video_call_sharp = IconData(0xed97, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">video_call</i> &#x2014; material icon named "video call" (round).
  static const IconData video_call_rounded = IconData(0xf0276, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">video_call</i> &#x2014; material icon named "video call" (outlined).
  static const IconData video_call_outlined = IconData(0xf484, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">video_camera_back</i> &#x2014; material icon named "video camera back".
  static const IconData video_camera_back = IconData(0xe6a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">video_camera_back</i> &#x2014; material icon named "video camera back" (sharp).
  static const IconData video_camera_back_sharp = IconData(0xed98, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">video_camera_back</i> &#x2014; material icon named "video camera back" (round).
  static const IconData video_camera_back_rounded = IconData(0xf0277, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">video_camera_back</i> &#x2014; material icon named "video camera back" (outlined).
  static const IconData video_camera_back_outlined = IconData(0xf485, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">video_camera_front</i> &#x2014; material icon named "video camera front".
  static const IconData video_camera_front = IconData(0xe6a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">video_camera_front</i> &#x2014; material icon named "video camera front" (sharp).
  static const IconData video_camera_front_sharp = IconData(0xed99, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">video_camera_front</i> &#x2014; material icon named "video camera front" (round).
  static const IconData video_camera_front_rounded = IconData(0xf0278, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">video_camera_front</i> &#x2014; material icon named "video camera front" (outlined).
  static const IconData video_camera_front_outlined = IconData(0xf486, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">video_chat</i> &#x2014; material icon named "video chat".
  static const IconData video_chat = IconData(0xf087b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">video_chat</i> &#x2014; material icon named "video chat" (sharp).
  static const IconData video_chat_sharp = IconData(0xf084f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">video_chat</i> &#x2014; material icon named "video chat" (round).
  static const IconData video_chat_rounded = IconData(0xf0898, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">video_chat</i> &#x2014; material icon named "video chat" (outlined).
  static const IconData video_chat_outlined = IconData(0xf08b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">video_collection</i> &#x2014; material icon named "video collection".
  static const IconData video_collection = IconData(0xe6a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">video_collection</i> &#x2014; material icon named "video collection" (sharp).
  static const IconData video_collection_sharp = IconData(0xed9b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">video_collection</i> &#x2014; material icon named "video collection" (round).
  static const IconData video_collection_rounded = IconData(0xf027a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">video_collection</i> &#x2014; material icon named "video collection" (outlined).
  static const IconData video_collection_outlined = IconData(0xf488, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">video_file</i> &#x2014; material icon named "video file".
  static const IconData video_file = IconData(0xf0598, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">video_file</i> &#x2014; material icon named "video file" (sharp).
  static const IconData video_file_sharp = IconData(0xf049e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">video_file</i> &#x2014; material icon named "video file" (round).
  static const IconData video_file_rounded = IconData(0xf03ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">video_file</i> &#x2014; material icon named "video file" (outlined).
  static const IconData video_file_outlined = IconData(0xf068c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">video_label</i> &#x2014; material icon named "video label".
  static const IconData video_label = IconData(0xe6a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">video_label</i> &#x2014; material icon named "video label" (sharp).
  static const IconData video_label_sharp = IconData(0xed9a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">video_label</i> &#x2014; material icon named "video label" (round).
  static const IconData video_label_rounded = IconData(0xf0279, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">video_label</i> &#x2014; material icon named "video label" (outlined).
  static const IconData video_label_outlined = IconData(0xf487, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">video_library</i> &#x2014; material icon named "video library".
  static const IconData video_library = IconData(0xe6a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">video_library</i> &#x2014; material icon named "video library" (sharp).
  static const IconData video_library_sharp = IconData(0xed9b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">video_library</i> &#x2014; material icon named "video library" (round).
  static const IconData video_library_rounded = IconData(0xf027a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">video_library</i> &#x2014; material icon named "video library" (outlined).
  static const IconData video_library_outlined = IconData(0xf488, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">video_settings</i> &#x2014; material icon named "video settings".
  static const IconData video_settings = IconData(0xe6a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">video_settings</i> &#x2014; material icon named "video settings" (sharp).
  static const IconData video_settings_sharp = IconData(0xed9c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">video_settings</i> &#x2014; material icon named "video settings" (round).
  static const IconData video_settings_rounded = IconData(0xf027b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">video_settings</i> &#x2014; material icon named "video settings" (outlined).
  static const IconData video_settings_outlined = IconData(0xf489, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">video_stable</i> &#x2014; material icon named "video stable".
  static const IconData video_stable = IconData(0xe6a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">video_stable</i> &#x2014; material icon named "video stable" (sharp).
  static const IconData video_stable_sharp = IconData(0xed9d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">video_stable</i> &#x2014; material icon named "video stable" (round).
  static const IconData video_stable_rounded = IconData(0xf027c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">video_stable</i> &#x2014; material icon named "video stable" (outlined).
  static const IconData video_stable_outlined = IconData(0xf48a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">videocam</i> &#x2014; material icon named "videocam".
  static const IconData videocam = IconData(0xe6a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">videocam</i> &#x2014; material icon named "videocam" (sharp).
  static const IconData videocam_sharp = IconData(0xed9f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">videocam</i> &#x2014; material icon named "videocam" (round).
  static const IconData videocam_rounded = IconData(0xf027e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">videocam</i> &#x2014; material icon named "videocam" (outlined).
  static const IconData videocam_outlined = IconData(0xf48c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">videocam_off</i> &#x2014; material icon named "videocam off".
  static const IconData videocam_off = IconData(0xe6a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">videocam_off</i> &#x2014; material icon named "videocam off" (sharp).
  static const IconData videocam_off_sharp = IconData(0xed9e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">videocam_off</i> &#x2014; material icon named "videocam off" (round).
  static const IconData videocam_off_rounded = IconData(0xf027d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">videocam_off</i> &#x2014; material icon named "videocam off" (outlined).
  static const IconData videocam_off_outlined = IconData(0xf48b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">videogame_asset</i> &#x2014; material icon named "videogame asset".
  static const IconData videogame_asset = IconData(0xe6aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">videogame_asset</i> &#x2014; material icon named "videogame asset" (sharp).
  static const IconData videogame_asset_sharp = IconData(0xeda1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">videogame_asset</i> &#x2014; material icon named "videogame asset" (round).
  static const IconData videogame_asset_rounded = IconData(0xf0280, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">videogame_asset</i> &#x2014; material icon named "videogame asset" (outlined).
  static const IconData videogame_asset_outlined = IconData(0xf48e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">videogame_asset_off</i> &#x2014; material icon named "videogame asset off".
  static const IconData videogame_asset_off = IconData(0xe6ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">videogame_asset_off</i> &#x2014; material icon named "videogame asset off" (sharp).
  static const IconData videogame_asset_off_sharp = IconData(0xeda0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">videogame_asset_off</i> &#x2014; material icon named "videogame asset off" (round).
  static const IconData videogame_asset_off_rounded = IconData(0xf027f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">videogame_asset_off</i> &#x2014; material icon named "videogame asset off" (outlined).
  static const IconData videogame_asset_off_outlined = IconData(0xf48d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_agenda</i> &#x2014; material icon named "view agenda".
  static const IconData view_agenda = IconData(0xe6ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_agenda</i> &#x2014; material icon named "view agenda" (sharp).
  static const IconData view_agenda_sharp = IconData(0xeda2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_agenda</i> &#x2014; material icon named "view agenda" (round).
  static const IconData view_agenda_rounded = IconData(0xf0281, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_agenda</i> &#x2014; material icon named "view agenda" (outlined).
  static const IconData view_agenda_outlined = IconData(0xf48f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_array</i> &#x2014; material icon named "view array".
  static const IconData view_array = IconData(0xe6ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_array</i> &#x2014; material icon named "view array" (sharp).
  static const IconData view_array_sharp = IconData(0xeda3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_array</i> &#x2014; material icon named "view array" (round).
  static const IconData view_array_rounded = IconData(0xf0282, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_array</i> &#x2014; material icon named "view array" (outlined).
  static const IconData view_array_outlined = IconData(0xf490, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_carousel</i> &#x2014; material icon named "view carousel".
  static const IconData view_carousel = IconData(0xe6ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_carousel</i> &#x2014; material icon named "view carousel" (sharp).
  static const IconData view_carousel_sharp = IconData(0xeda4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_carousel</i> &#x2014; material icon named "view carousel" (round).
  static const IconData view_carousel_rounded = IconData(0xf0283, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_carousel</i> &#x2014; material icon named "view carousel" (outlined).
  static const IconData view_carousel_outlined = IconData(0xf491, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_column</i> &#x2014; material icon named "view column".
  static const IconData view_column = IconData(0xe6af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_column</i> &#x2014; material icon named "view column" (sharp).
  static const IconData view_column_sharp = IconData(0xeda5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_column</i> &#x2014; material icon named "view column" (round).
  static const IconData view_column_rounded = IconData(0xf0284, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_column</i> &#x2014; material icon named "view column" (outlined).
  static const IconData view_column_outlined = IconData(0xf492, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_comfortable</i> &#x2014; material icon named "view comfortable".
  static const IconData view_comfortable = IconData(0xe6b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_comfortable</i> &#x2014; material icon named "view comfortable" (sharp).
  static const IconData view_comfortable_sharp = IconData(0xeda6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_comfortable</i> &#x2014; material icon named "view comfortable" (round).
  static const IconData view_comfortable_rounded = IconData(0xf0285, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_comfortable</i> &#x2014; material icon named "view comfortable" (outlined).
  static const IconData view_comfortable_outlined = IconData(0xf493, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_comfy</i> &#x2014; material icon named "view comfy".
  static const IconData view_comfy = IconData(0xe6b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_comfy</i> &#x2014; material icon named "view comfy" (sharp).
  static const IconData view_comfy_sharp = IconData(0xeda6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_comfy</i> &#x2014; material icon named "view comfy" (round).
  static const IconData view_comfy_rounded = IconData(0xf0285, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_comfy</i> &#x2014; material icon named "view comfy" (outlined).
  static const IconData view_comfy_outlined = IconData(0xf493, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_comfy_alt</i> &#x2014; material icon named "view comfy alt".
  static const IconData view_comfy_alt = IconData(0xf0599, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_comfy_alt</i> &#x2014; material icon named "view comfy alt" (sharp).
  static const IconData view_comfy_alt_sharp = IconData(0xf049f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_comfy_alt</i> &#x2014; material icon named "view comfy alt" (round).
  static const IconData view_comfy_alt_rounded = IconData(0xf03ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_comfy_alt</i> &#x2014; material icon named "view comfy alt" (outlined).
  static const IconData view_comfy_alt_outlined = IconData(0xf068d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_compact</i> &#x2014; material icon named "view compact".
  static const IconData view_compact = IconData(0xe6b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_compact</i> &#x2014; material icon named "view compact" (sharp).
  static const IconData view_compact_sharp = IconData(0xeda7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_compact</i> &#x2014; material icon named "view compact" (round).
  static const IconData view_compact_rounded = IconData(0xf0286, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_compact</i> &#x2014; material icon named "view compact" (outlined).
  static const IconData view_compact_outlined = IconData(0xf494, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_compact_alt</i> &#x2014; material icon named "view compact alt".
  static const IconData view_compact_alt = IconData(0xf059a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_compact_alt</i> &#x2014; material icon named "view compact alt" (sharp).
  static const IconData view_compact_alt_sharp = IconData(0xf04a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_compact_alt</i> &#x2014; material icon named "view compact alt" (round).
  static const IconData view_compact_alt_rounded = IconData(0xf03ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_compact_alt</i> &#x2014; material icon named "view compact alt" (outlined).
  static const IconData view_compact_alt_outlined = IconData(0xf068e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_cozy</i> &#x2014; material icon named "view cozy".
  static const IconData view_cozy = IconData(0xf059b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_cozy</i> &#x2014; material icon named "view cozy" (sharp).
  static const IconData view_cozy_sharp = IconData(0xf04a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_cozy</i> &#x2014; material icon named "view cozy" (round).
  static const IconData view_cozy_rounded = IconData(0xf03ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_cozy</i> &#x2014; material icon named "view cozy" (outlined).
  static const IconData view_cozy_outlined = IconData(0xf068f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_day</i> &#x2014; material icon named "view day".
  static const IconData view_day = IconData(0xe6b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_day</i> &#x2014; material icon named "view day" (sharp).
  static const IconData view_day_sharp = IconData(0xeda8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_day</i> &#x2014; material icon named "view day" (round).
  static const IconData view_day_rounded = IconData(0xf0287, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_day</i> &#x2014; material icon named "view day" (outlined).
  static const IconData view_day_outlined = IconData(0xf495, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_headline</i> &#x2014; material icon named "view headline".
  static const IconData view_headline = IconData(0xe6b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_headline</i> &#x2014; material icon named "view headline" (sharp).
  static const IconData view_headline_sharp = IconData(0xeda9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_headline</i> &#x2014; material icon named "view headline" (round).
  static const IconData view_headline_rounded = IconData(0xf0288, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_headline</i> &#x2014; material icon named "view headline" (outlined).
  static const IconData view_headline_outlined = IconData(0xf496, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_in_ar</i> &#x2014; material icon named "view in ar".
  static const IconData view_in_ar = IconData(0xe6b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_in_ar</i> &#x2014; material icon named "view in ar" (sharp).
  static const IconData view_in_ar_sharp = IconData(0xedaa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_in_ar</i> &#x2014; material icon named "view in ar" (round).
  static const IconData view_in_ar_rounded = IconData(0xf0289, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_in_ar</i> &#x2014; material icon named "view in ar" (outlined).
  static const IconData view_in_ar_outlined = IconData(0xf497, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_kanban</i> &#x2014; material icon named "view kanban".
  static const IconData view_kanban = IconData(0xf059c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_kanban</i> &#x2014; material icon named "view kanban" (sharp).
  static const IconData view_kanban_sharp = IconData(0xf04a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_kanban</i> &#x2014; material icon named "view kanban" (round).
  static const IconData view_kanban_rounded = IconData(0xf03af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_kanban</i> &#x2014; material icon named "view kanban" (outlined).
  static const IconData view_kanban_outlined = IconData(0xf0690, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_list</i> &#x2014; material icon named "view list".
  static const IconData view_list = IconData(0xe6b5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">view_list</i> &#x2014; material icon named "view list" (sharp).
  static const IconData view_list_sharp = IconData(0xedab, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">view_list</i> &#x2014; material icon named "view list" (round).
  static const IconData view_list_rounded = IconData(0xf028a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">view_list</i> &#x2014; material icon named "view list" (outlined).
  static const IconData view_list_outlined = IconData(0xf498, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">view_module</i> &#x2014; material icon named "view module".
  static const IconData view_module = IconData(0xe6b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_module</i> &#x2014; material icon named "view module" (sharp).
  static const IconData view_module_sharp = IconData(0xedac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_module</i> &#x2014; material icon named "view module" (round).
  static const IconData view_module_rounded = IconData(0xf028b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_module</i> &#x2014; material icon named "view module" (outlined).
  static const IconData view_module_outlined = IconData(0xf499, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_quilt</i> &#x2014; material icon named "view quilt".
  static const IconData view_quilt = IconData(0xe6b7, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">view_quilt</i> &#x2014; material icon named "view quilt" (sharp).
  static const IconData view_quilt_sharp = IconData(0xedad, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">view_quilt</i> &#x2014; material icon named "view quilt" (round).
  static const IconData view_quilt_rounded = IconData(0xf028c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">view_quilt</i> &#x2014; material icon named "view quilt" (outlined).
  static const IconData view_quilt_outlined = IconData(0xf49a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">view_sidebar</i> &#x2014; material icon named "view sidebar".
  static const IconData view_sidebar = IconData(0xe6b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_sidebar</i> &#x2014; material icon named "view sidebar" (sharp).
  static const IconData view_sidebar_sharp = IconData(0xedae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_sidebar</i> &#x2014; material icon named "view sidebar" (round).
  static const IconData view_sidebar_rounded = IconData(0xf028d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_sidebar</i> &#x2014; material icon named "view sidebar" (outlined).
  static const IconData view_sidebar_outlined = IconData(0xf49b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_stream</i> &#x2014; material icon named "view stream".
  static const IconData view_stream = IconData(0xe6b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_stream</i> &#x2014; material icon named "view stream" (sharp).
  static const IconData view_stream_sharp = IconData(0xedaf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_stream</i> &#x2014; material icon named "view stream" (round).
  static const IconData view_stream_rounded = IconData(0xf028e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_stream</i> &#x2014; material icon named "view stream" (outlined).
  static const IconData view_stream_outlined = IconData(0xf49c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_timeline</i> &#x2014; material icon named "view timeline".
  static const IconData view_timeline = IconData(0xf059d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_timeline</i> &#x2014; material icon named "view timeline" (sharp).
  static const IconData view_timeline_sharp = IconData(0xf04a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_timeline</i> &#x2014; material icon named "view timeline" (round).
  static const IconData view_timeline_rounded = IconData(0xf03b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_timeline</i> &#x2014; material icon named "view timeline" (outlined).
  static const IconData view_timeline_outlined = IconData(0xf0691, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_week</i> &#x2014; material icon named "view week".
  static const IconData view_week = IconData(0xe6ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_week</i> &#x2014; material icon named "view week" (sharp).
  static const IconData view_week_sharp = IconData(0xedb0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_week</i> &#x2014; material icon named "view week" (round).
  static const IconData view_week_rounded = IconData(0xf028f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_week</i> &#x2014; material icon named "view week" (outlined).
  static const IconData view_week_outlined = IconData(0xf49d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vignette</i> &#x2014; material icon named "vignette".
  static const IconData vignette = IconData(0xe6bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vignette</i> &#x2014; material icon named "vignette" (sharp).
  static const IconData vignette_sharp = IconData(0xedb1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vignette</i> &#x2014; material icon named "vignette" (round).
  static const IconData vignette_rounded = IconData(0xf0290, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vignette</i> &#x2014; material icon named "vignette" (outlined).
  static const IconData vignette_outlined = IconData(0xf49e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">villa</i> &#x2014; material icon named "villa".
  static const IconData villa = IconData(0xe6bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">villa</i> &#x2014; material icon named "villa" (sharp).
  static const IconData villa_sharp = IconData(0xedb2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">villa</i> &#x2014; material icon named "villa" (round).
  static const IconData villa_rounded = IconData(0xf0291, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">villa</i> &#x2014; material icon named "villa" (outlined).
  static const IconData villa_outlined = IconData(0xf49f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">visibility</i> &#x2014; material icon named "visibility".
  static const IconData visibility = IconData(0xe6bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">visibility</i> &#x2014; material icon named "visibility" (sharp).
  static const IconData visibility_sharp = IconData(0xedb4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">visibility</i> &#x2014; material icon named "visibility" (round).
  static const IconData visibility_rounded = IconData(0xf0293, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">visibility</i> &#x2014; material icon named "visibility" (outlined).
  static const IconData visibility_outlined = IconData(0xf4a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">visibility_off</i> &#x2014; material icon named "visibility off".
  static const IconData visibility_off = IconData(0xe6be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">visibility_off</i> &#x2014; material icon named "visibility off" (sharp).
  static const IconData visibility_off_sharp = IconData(0xedb3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">visibility_off</i> &#x2014; material icon named "visibility off" (round).
  static const IconData visibility_off_rounded = IconData(0xf0292, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">visibility_off</i> &#x2014; material icon named "visibility off" (outlined).
  static const IconData visibility_off_outlined = IconData(0xf4a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">voice_chat</i> &#x2014; material icon named "voice chat".
  static const IconData voice_chat = IconData(0xe6bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">voice_chat</i> &#x2014; material icon named "voice chat" (sharp).
  static const IconData voice_chat_sharp = IconData(0xedb5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">voice_chat</i> &#x2014; material icon named "voice chat" (round).
  static const IconData voice_chat_rounded = IconData(0xf0294, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">voice_chat</i> &#x2014; material icon named "voice chat" (outlined).
  static const IconData voice_chat_outlined = IconData(0xf4a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">voice_over_off</i> &#x2014; material icon named "voice over off".
  static const IconData voice_over_off = IconData(0xe6c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">voice_over_off</i> &#x2014; material icon named "voice over off" (sharp).
  static const IconData voice_over_off_sharp = IconData(0xedb6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">voice_over_off</i> &#x2014; material icon named "voice over off" (round).
  static const IconData voice_over_off_rounded = IconData(0xf0295, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">voice_over_off</i> &#x2014; material icon named "voice over off" (outlined).
  static const IconData voice_over_off_outlined = IconData(0xf4a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">voicemail</i> &#x2014; material icon named "voicemail".
  static const IconData voicemail = IconData(0xe6c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">voicemail</i> &#x2014; material icon named "voicemail" (sharp).
  static const IconData voicemail_sharp = IconData(0xedb7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">voicemail</i> &#x2014; material icon named "voicemail" (round).
  static const IconData voicemail_rounded = IconData(0xf0296, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">voicemail</i> &#x2014; material icon named "voicemail" (outlined).
  static const IconData voicemail_outlined = IconData(0xf4a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">volcano</i> &#x2014; material icon named "volcano".
  static const IconData volcano = IconData(0xf07d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">volcano</i> &#x2014; material icon named "volcano" (sharp).
  static const IconData volcano_sharp = IconData(0xf077b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">volcano</i> &#x2014; material icon named "volcano" (round).
  static const IconData volcano_rounded = IconData(0xf082b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">volcano</i> &#x2014; material icon named "volcano" (outlined).
  static const IconData volcano_outlined = IconData(0xf0723, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">volume_down</i> &#x2014; material icon named "volume down".
  static const IconData volume_down = IconData(0xe6c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">volume_down</i> &#x2014; material icon named "volume down" (sharp).
  static const IconData volume_down_sharp = IconData(0xedb8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">volume_down</i> &#x2014; material icon named "volume down" (round).
  static const IconData volume_down_rounded = IconData(0xf0297, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">volume_down</i> &#x2014; material icon named "volume down" (outlined).
  static const IconData volume_down_outlined = IconData(0xf4a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">volume_down_alt</i> &#x2014; material icon named "volume down alt".
  static const IconData volume_down_alt = IconData(0xf059e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">volume_mute</i> &#x2014; material icon named "volume mute".
  static const IconData volume_mute = IconData(0xe6c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">volume_mute</i> &#x2014; material icon named "volume mute" (sharp).
  static const IconData volume_mute_sharp = IconData(0xedb9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">volume_mute</i> &#x2014; material icon named "volume mute" (round).
  static const IconData volume_mute_rounded = IconData(0xf0298, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">volume_mute</i> &#x2014; material icon named "volume mute" (outlined).
  static const IconData volume_mute_outlined = IconData(0xf4a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">volume_off</i> &#x2014; material icon named "volume off".
  static const IconData volume_off = IconData(0xe6c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">volume_off</i> &#x2014; material icon named "volume off" (sharp).
  static const IconData volume_off_sharp = IconData(0xedba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">volume_off</i> &#x2014; material icon named "volume off" (round).
  static const IconData volume_off_rounded = IconData(0xf0299, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">volume_off</i> &#x2014; material icon named "volume off" (outlined).
  static const IconData volume_off_outlined = IconData(0xf4a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">volume_up</i> &#x2014; material icon named "volume up".
  static const IconData volume_up = IconData(0xe6c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">volume_up</i> &#x2014; material icon named "volume up" (sharp).
  static const IconData volume_up_sharp = IconData(0xedbb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">volume_up</i> &#x2014; material icon named "volume up" (round).
  static const IconData volume_up_rounded = IconData(0xf029a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">volume_up</i> &#x2014; material icon named "volume up" (outlined).
  static const IconData volume_up_outlined = IconData(0xf4a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">volunteer_activism</i> &#x2014; material icon named "volunteer activism".
  static const IconData volunteer_activism = IconData(0xe6c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">volunteer_activism</i> &#x2014; material icon named "volunteer activism" (sharp).
  static const IconData volunteer_activism_sharp = IconData(0xedbc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">volunteer_activism</i> &#x2014; material icon named "volunteer activism" (round).
  static const IconData volunteer_activism_rounded = IconData(0xf029b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">volunteer_activism</i> &#x2014; material icon named "volunteer activism" (outlined).
  static const IconData volunteer_activism_outlined = IconData(0xf4a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vpn_key</i> &#x2014; material icon named "vpn key".
  static const IconData vpn_key = IconData(0xe6c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vpn_key</i> &#x2014; material icon named "vpn key" (sharp).
  static const IconData vpn_key_sharp = IconData(0xedbd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vpn_key</i> &#x2014; material icon named "vpn key" (round).
  static const IconData vpn_key_rounded = IconData(0xf029c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vpn_key</i> &#x2014; material icon named "vpn key" (outlined).
  static const IconData vpn_key_outlined = IconData(0xf4aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vpn_key_off</i> &#x2014; material icon named "vpn key off".
  static const IconData vpn_key_off = IconData(0xf059f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vpn_key_off</i> &#x2014; material icon named "vpn key off" (sharp).
  static const IconData vpn_key_off_sharp = IconData(0xf04a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vpn_key_off</i> &#x2014; material icon named "vpn key off" (round).
  static const IconData vpn_key_off_rounded = IconData(0xf03b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vpn_key_off</i> &#x2014; material icon named "vpn key off" (outlined).
  static const IconData vpn_key_off_outlined = IconData(0xf0692, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vpn_lock</i> &#x2014; material icon named "vpn lock".
  static const IconData vpn_lock = IconData(0xe6c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vpn_lock</i> &#x2014; material icon named "vpn lock" (sharp).
  static const IconData vpn_lock_sharp = IconData(0xedbe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vpn_lock</i> &#x2014; material icon named "vpn lock" (round).
  static const IconData vpn_lock_rounded = IconData(0xf029d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vpn_lock</i> &#x2014; material icon named "vpn lock" (outlined).
  static const IconData vpn_lock_outlined = IconData(0xf4ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vrpano</i> &#x2014; material icon named "vrpano".
  static const IconData vrpano = IconData(0xe6c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vrpano</i> &#x2014; material icon named "vrpano" (sharp).
  static const IconData vrpano_sharp = IconData(0xedbf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vrpano</i> &#x2014; material icon named "vrpano" (round).
  static const IconData vrpano_rounded = IconData(0xf029e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vrpano</i> &#x2014; material icon named "vrpano" (outlined).
  static const IconData vrpano_outlined = IconData(0xf4ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wallet</i> &#x2014; material icon named "wallet".
  static const IconData wallet = IconData(0xf07d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wallet</i> &#x2014; material icon named "wallet" (sharp).
  static const IconData wallet_sharp = IconData(0xf077c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wallet</i> &#x2014; material icon named "wallet" (round).
  static const IconData wallet_rounded = IconData(0xf082c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wallet</i> &#x2014; material icon named "wallet" (outlined).
  static const IconData wallet_outlined = IconData(0xf0724, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wallet_giftcard</i> &#x2014; material icon named "wallet giftcard".
  static const IconData wallet_giftcard = IconData(0xe13e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wallet_giftcard</i> &#x2014; material icon named "wallet giftcard" (sharp).
  static const IconData wallet_giftcard_sharp = IconData(0xe83b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wallet_giftcard</i> &#x2014; material icon named "wallet giftcard" (round).
  static const IconData wallet_giftcard_rounded = IconData(0xf61a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wallet_giftcard</i> &#x2014; material icon named "wallet giftcard" (outlined).
  static const IconData wallet_giftcard_outlined = IconData(0xef2d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wallet_membership</i> &#x2014; material icon named "wallet membership".
  static const IconData wallet_membership = IconData(0xe13f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wallet_membership</i> &#x2014; material icon named "wallet membership" (sharp).
  static const IconData wallet_membership_sharp = IconData(0xe83c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wallet_membership</i> &#x2014; material icon named "wallet membership" (round).
  static const IconData wallet_membership_rounded = IconData(0xf61b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wallet_membership</i> &#x2014; material icon named "wallet membership" (outlined).
  static const IconData wallet_membership_outlined = IconData(0xef2e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wallet_travel</i> &#x2014; material icon named "wallet travel".
  static const IconData wallet_travel = IconData(0xe140, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wallet_travel</i> &#x2014; material icon named "wallet travel" (sharp).
  static const IconData wallet_travel_sharp = IconData(0xe83d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wallet_travel</i> &#x2014; material icon named "wallet travel" (round).
  static const IconData wallet_travel_rounded = IconData(0xf61c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wallet_travel</i> &#x2014; material icon named "wallet travel" (outlined).
  static const IconData wallet_travel_outlined = IconData(0xef2f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wallpaper</i> &#x2014; material icon named "wallpaper".
  static const IconData wallpaper = IconData(0xe6ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wallpaper</i> &#x2014; material icon named "wallpaper" (sharp).
  static const IconData wallpaper_sharp = IconData(0xedc0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wallpaper</i> &#x2014; material icon named "wallpaper" (round).
  static const IconData wallpaper_rounded = IconData(0xf029f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wallpaper</i> &#x2014; material icon named "wallpaper" (outlined).
  static const IconData wallpaper_outlined = IconData(0xf4ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">warehouse</i> &#x2014; material icon named "warehouse".
  static const IconData warehouse = IconData(0xf05a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">warehouse</i> &#x2014; material icon named "warehouse" (sharp).
  static const IconData warehouse_sharp = IconData(0xf04a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">warehouse</i> &#x2014; material icon named "warehouse" (round).
  static const IconData warehouse_rounded = IconData(0xf03b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">warehouse</i> &#x2014; material icon named "warehouse" (outlined).
  static const IconData warehouse_outlined = IconData(0xf0693, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">warning</i> &#x2014; material icon named "warning".
  static const IconData warning = IconData(0xe6cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">warning</i> &#x2014; material icon named "warning" (sharp).
  static const IconData warning_sharp = IconData(0xedc2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">warning</i> &#x2014; material icon named "warning" (round).
  static const IconData warning_rounded = IconData(0xf02a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">warning</i> &#x2014; material icon named "warning" (outlined).
  static const IconData warning_outlined = IconData(0xf4af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">warning_amber</i> &#x2014; material icon named "warning amber".
  static const IconData warning_amber = IconData(0xe6cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">warning_amber</i> &#x2014; material icon named "warning amber" (sharp).
  static const IconData warning_amber_sharp = IconData(0xedc1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">warning_amber</i> &#x2014; material icon named "warning amber" (round).
  static const IconData warning_amber_rounded = IconData(0xf02a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">warning_amber</i> &#x2014; material icon named "warning amber" (outlined).
  static const IconData warning_amber_outlined = IconData(0xf4ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wash</i> &#x2014; material icon named "wash".
  static const IconData wash = IconData(0xe6cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wash</i> &#x2014; material icon named "wash" (sharp).
  static const IconData wash_sharp = IconData(0xedc3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wash</i> &#x2014; material icon named "wash" (round).
  static const IconData wash_rounded = IconData(0xf02a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wash</i> &#x2014; material icon named "wash" (outlined).
  static const IconData wash_outlined = IconData(0xf4b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">watch</i> &#x2014; material icon named "watch".
  static const IconData watch = IconData(0xe6ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">watch</i> &#x2014; material icon named "watch" (sharp).
  static const IconData watch_sharp = IconData(0xedc5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">watch</i> &#x2014; material icon named "watch" (round).
  static const IconData watch_rounded = IconData(0xf02a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">watch</i> &#x2014; material icon named "watch" (outlined).
  static const IconData watch_outlined = IconData(0xf4b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">watch_later</i> &#x2014; material icon named "watch later".
  static const IconData watch_later = IconData(0xe6cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">watch_later</i> &#x2014; material icon named "watch later" (sharp).
  static const IconData watch_later_sharp = IconData(0xedc4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">watch_later</i> &#x2014; material icon named "watch later" (round).
  static const IconData watch_later_rounded = IconData(0xf02a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">watch_later</i> &#x2014; material icon named "watch later" (outlined).
  static const IconData watch_later_outlined = IconData(0xf4b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">watch_off</i> &#x2014; material icon named "watch off".
  static const IconData watch_off = IconData(0xf05a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">watch_off</i> &#x2014; material icon named "watch off" (sharp).
  static const IconData watch_off_sharp = IconData(0xf04a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">watch_off</i> &#x2014; material icon named "watch off" (round).
  static const IconData watch_off_rounded = IconData(0xf03b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">watch_off</i> &#x2014; material icon named "watch off" (outlined).
  static const IconData watch_off_outlined = IconData(0xf0694, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">water</i> &#x2014; material icon named "water".
  static const IconData water = IconData(0xe6d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">water</i> &#x2014; material icon named "water" (sharp).
  static const IconData water_sharp = IconData(0xedc7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">water</i> &#x2014; material icon named "water" (round).
  static const IconData water_rounded = IconData(0xf02a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">water</i> &#x2014; material icon named "water" (outlined).
  static const IconData water_outlined = IconData(0xf4b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">water_damage</i> &#x2014; material icon named "water damage".
  static const IconData water_damage = IconData(0xe6d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">water_damage</i> &#x2014; material icon named "water damage" (sharp).
  static const IconData water_damage_sharp = IconData(0xedc6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">water_damage</i> &#x2014; material icon named "water damage" (round).
  static const IconData water_damage_rounded = IconData(0xf02a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">water_damage</i> &#x2014; material icon named "water damage" (outlined).
  static const IconData water_damage_outlined = IconData(0xf4b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">water_drop</i> &#x2014; material icon named "water drop".
  static const IconData water_drop = IconData(0xf05a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">water_drop</i> &#x2014; material icon named "water drop" (sharp).
  static const IconData water_drop_sharp = IconData(0xf04a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">water_drop</i> &#x2014; material icon named "water drop" (round).
  static const IconData water_drop_rounded = IconData(0xf03b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">water_drop</i> &#x2014; material icon named "water drop" (outlined).
  static const IconData water_drop_outlined = IconData(0xf0695, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">waterfall_chart</i> &#x2014; material icon named "waterfall chart".
  static const IconData waterfall_chart = IconData(0xe6d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">waterfall_chart</i> &#x2014; material icon named "waterfall chart" (sharp).
  static const IconData waterfall_chart_sharp = IconData(0xedc8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">waterfall_chart</i> &#x2014; material icon named "waterfall chart" (round).
  static const IconData waterfall_chart_rounded = IconData(0xf02a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">waterfall_chart</i> &#x2014; material icon named "waterfall chart" (outlined).
  static const IconData waterfall_chart_outlined = IconData(0xf4b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">waves</i> &#x2014; material icon named "waves".
  static const IconData waves = IconData(0xe6d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">waves</i> &#x2014; material icon named "waves" (sharp).
  static const IconData waves_sharp = IconData(0xedc9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">waves</i> &#x2014; material icon named "waves" (round).
  static const IconData waves_rounded = IconData(0xf02a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">waves</i> &#x2014; material icon named "waves" (outlined).
  static const IconData waves_outlined = IconData(0xf4b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">waving_hand</i> &#x2014; material icon named "waving hand".
  static const IconData waving_hand = IconData(0xf05a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">waving_hand</i> &#x2014; material icon named "waving hand" (sharp).
  static const IconData waving_hand_sharp = IconData(0xf04a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">waving_hand</i> &#x2014; material icon named "waving hand" (round).
  static const IconData waving_hand_rounded = IconData(0xf03b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">waving_hand</i> &#x2014; material icon named "waving hand" (outlined).
  static const IconData waving_hand_outlined = IconData(0xf0696, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wb_auto</i> &#x2014; material icon named "wb auto".
  static const IconData wb_auto = IconData(0xe6d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wb_auto</i> &#x2014; material icon named "wb auto" (sharp).
  static const IconData wb_auto_sharp = IconData(0xedca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wb_auto</i> &#x2014; material icon named "wb auto" (round).
  static const IconData wb_auto_rounded = IconData(0xf02a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wb_auto</i> &#x2014; material icon named "wb auto" (outlined).
  static const IconData wb_auto_outlined = IconData(0xf4b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wb_cloudy</i> &#x2014; material icon named "wb cloudy".
  static const IconData wb_cloudy = IconData(0xe6d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wb_cloudy</i> &#x2014; material icon named "wb cloudy" (sharp).
  static const IconData wb_cloudy_sharp = IconData(0xedcb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wb_cloudy</i> &#x2014; material icon named "wb cloudy" (round).
  static const IconData wb_cloudy_rounded = IconData(0xf02aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wb_cloudy</i> &#x2014; material icon named "wb cloudy" (outlined).
  static const IconData wb_cloudy_outlined = IconData(0xf4b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wb_incandescent</i> &#x2014; material icon named "wb incandescent".
  static const IconData wb_incandescent = IconData(0xe6d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wb_incandescent</i> &#x2014; material icon named "wb incandescent" (sharp).
  static const IconData wb_incandescent_sharp = IconData(0xedcc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wb_incandescent</i> &#x2014; material icon named "wb incandescent" (round).
  static const IconData wb_incandescent_rounded = IconData(0xf02ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wb_incandescent</i> &#x2014; material icon named "wb incandescent" (outlined).
  static const IconData wb_incandescent_outlined = IconData(0xf4b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wb_iridescent</i> &#x2014; material icon named "wb iridescent".
  static const IconData wb_iridescent = IconData(0xe6d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wb_iridescent</i> &#x2014; material icon named "wb iridescent" (sharp).
  static const IconData wb_iridescent_sharp = IconData(0xedcd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wb_iridescent</i> &#x2014; material icon named "wb iridescent" (round).
  static const IconData wb_iridescent_rounded = IconData(0xf02ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wb_iridescent</i> &#x2014; material icon named "wb iridescent" (outlined).
  static const IconData wb_iridescent_outlined = IconData(0xf4ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wb_shade</i> &#x2014; material icon named "wb shade".
  static const IconData wb_shade = IconData(0xe6d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wb_shade</i> &#x2014; material icon named "wb shade" (sharp).
  static const IconData wb_shade_sharp = IconData(0xedce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wb_shade</i> &#x2014; material icon named "wb shade" (round).
  static const IconData wb_shade_rounded = IconData(0xf02ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wb_shade</i> &#x2014; material icon named "wb shade" (outlined).
  static const IconData wb_shade_outlined = IconData(0xf4bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wb_sunny</i> &#x2014; material icon named "wb sunny".
  static const IconData wb_sunny = IconData(0xe6d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wb_sunny</i> &#x2014; material icon named "wb sunny" (sharp).
  static const IconData wb_sunny_sharp = IconData(0xedcf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wb_sunny</i> &#x2014; material icon named "wb sunny" (round).
  static const IconData wb_sunny_rounded = IconData(0xf02ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wb_sunny</i> &#x2014; material icon named "wb sunny" (outlined).
  static const IconData wb_sunny_outlined = IconData(0xf4bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wb_twighlight</i> &#x2014; material icon named "wb twighlight".
  static const IconData wb_twighlight = IconData(0xe6da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wb_twilight</i> &#x2014; material icon named "wb twilight".
  static const IconData wb_twilight = IconData(0xe6db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wb_twilight</i> &#x2014; material icon named "wb twilight" (sharp).
  static const IconData wb_twilight_sharp = IconData(0xedd0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wb_twilight</i> &#x2014; material icon named "wb twilight" (round).
  static const IconData wb_twilight_rounded = IconData(0xf02af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wb_twilight</i> &#x2014; material icon named "wb twilight" (outlined).
  static const IconData wb_twilight_outlined = IconData(0xf4bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wc</i> &#x2014; material icon named "wc".
  static const IconData wc = IconData(0xe6dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wc</i> &#x2014; material icon named "wc" (sharp).
  static const IconData wc_sharp = IconData(0xedd1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wc</i> &#x2014; material icon named "wc" (round).
  static const IconData wc_rounded = IconData(0xf02b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wc</i> &#x2014; material icon named "wc" (outlined).
  static const IconData wc_outlined = IconData(0xf4be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">web</i> &#x2014; material icon named "web".
  static const IconData web = IconData(0xe6dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">web</i> &#x2014; material icon named "web" (sharp).
  static const IconData web_sharp = IconData(0xedd4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">web</i> &#x2014; material icon named "web" (round).
  static const IconData web_rounded = IconData(0xf02b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">web</i> &#x2014; material icon named "web" (outlined).
  static const IconData web_outlined = IconData(0xf4c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">web_asset</i> &#x2014; material icon named "web asset".
  static const IconData web_asset = IconData(0xe6de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">web_asset</i> &#x2014; material icon named "web asset" (sharp).
  static const IconData web_asset_sharp = IconData(0xedd3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">web_asset</i> &#x2014; material icon named "web asset" (round).
  static const IconData web_asset_rounded = IconData(0xf02b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">web_asset</i> &#x2014; material icon named "web asset" (outlined).
  static const IconData web_asset_outlined = IconData(0xf4c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">web_asset_off</i> &#x2014; material icon named "web asset off".
  static const IconData web_asset_off = IconData(0xe6df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">web_asset_off</i> &#x2014; material icon named "web asset off" (sharp).
  static const IconData web_asset_off_sharp = IconData(0xedd2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">web_asset_off</i> &#x2014; material icon named "web asset off" (round).
  static const IconData web_asset_off_rounded = IconData(0xf02b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">web_asset_off</i> &#x2014; material icon named "web asset off" (outlined).
  static const IconData web_asset_off_outlined = IconData(0xf4bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">web_stories</i> &#x2014; material icon named "web stories".
  static const IconData web_stories = IconData(0xe6e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">web_stories</i> &#x2014; material icon named "web stories" (sharp).
  static const IconData web_stories_sharp = IconData(0xf0850, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">web_stories</i> &#x2014; material icon named "web stories" (round).
  static const IconData web_stories_rounded = IconData(0xf0899, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">web_stories</i> &#x2014; material icon named "web stories" (outlined).
  static const IconData web_stories_outlined = IconData(0xf08b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">webhook</i> &#x2014; material icon named "webhook".
  static const IconData webhook = IconData(0xf05a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">webhook</i> &#x2014; material icon named "webhook" (sharp).
  static const IconData webhook_sharp = IconData(0xf04a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">webhook</i> &#x2014; material icon named "webhook" (round).
  static const IconData webhook_rounded = IconData(0xf03b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">webhook</i> &#x2014; material icon named "webhook" (outlined).
  static const IconData webhook_outlined = IconData(0xf0697, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wechat</i> &#x2014; material icon named "wechat".
  static const IconData wechat = IconData(0xf05a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wechat</i> &#x2014; material icon named "wechat" (sharp).
  static const IconData wechat_sharp = IconData(0xf04aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wechat</i> &#x2014; material icon named "wechat" (round).
  static const IconData wechat_rounded = IconData(0xf03b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wechat</i> &#x2014; material icon named "wechat" (outlined).
  static const IconData wechat_outlined = IconData(0xf0698, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">weekend</i> &#x2014; material icon named "weekend".
  static const IconData weekend = IconData(0xe6e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">weekend</i> &#x2014; material icon named "weekend" (sharp).
  static const IconData weekend_sharp = IconData(0xedd5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">weekend</i> &#x2014; material icon named "weekend" (round).
  static const IconData weekend_rounded = IconData(0xf02b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">weekend</i> &#x2014; material icon named "weekend" (outlined).
  static const IconData weekend_outlined = IconData(0xf4c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">west</i> &#x2014; material icon named "west".
  static const IconData west = IconData(0xe6e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">west</i> &#x2014; material icon named "west" (sharp).
  static const IconData west_sharp = IconData(0xedd6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">west</i> &#x2014; material icon named "west" (round).
  static const IconData west_rounded = IconData(0xf02b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">west</i> &#x2014; material icon named "west" (outlined).
  static const IconData west_outlined = IconData(0xf4c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">whatshot</i> &#x2014; material icon named "whatshot".
  static const IconData whatshot = IconData(0xe6e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">whatshot</i> &#x2014; material icon named "whatshot" (sharp).
  static const IconData whatshot_sharp = IconData(0xedd7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">whatshot</i> &#x2014; material icon named "whatshot" (round).
  static const IconData whatshot_rounded = IconData(0xf02b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">whatshot</i> &#x2014; material icon named "whatshot" (outlined).
  static const IconData whatshot_outlined = IconData(0xf4c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wheelchair_pickup</i> &#x2014; material icon named "wheelchair pickup".
  static const IconData wheelchair_pickup = IconData(0xe6e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wheelchair_pickup</i> &#x2014; material icon named "wheelchair pickup" (sharp).
  static const IconData wheelchair_pickup_sharp = IconData(0xedd8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wheelchair_pickup</i> &#x2014; material icon named "wheelchair pickup" (round).
  static const IconData wheelchair_pickup_rounded = IconData(0xf02b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wheelchair_pickup</i> &#x2014; material icon named "wheelchair pickup" (outlined).
  static const IconData wheelchair_pickup_outlined = IconData(0xf4c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">where_to_vote</i> &#x2014; material icon named "where to vote".
  static const IconData where_to_vote = IconData(0xe6e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">where_to_vote</i> &#x2014; material icon named "where to vote" (sharp).
  static const IconData where_to_vote_sharp = IconData(0xedd9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">where_to_vote</i> &#x2014; material icon named "where to vote" (round).
  static const IconData where_to_vote_rounded = IconData(0xf02b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">where_to_vote</i> &#x2014; material icon named "where to vote" (outlined).
  static const IconData where_to_vote_outlined = IconData(0xf4c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">widgets</i> &#x2014; material icon named "widgets".
  static const IconData widgets = IconData(0xe6e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">widgets</i> &#x2014; material icon named "widgets" (sharp).
  static const IconData widgets_sharp = IconData(0xedda, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">widgets</i> &#x2014; material icon named "widgets" (round).
  static const IconData widgets_rounded = IconData(0xf02b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">widgets</i> &#x2014; material icon named "widgets" (outlined).
  static const IconData widgets_outlined = IconData(0xf4c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">width_full</i> &#x2014; material icon named "width full".
  static const IconData width_full = IconData(0xf07d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">width_full</i> &#x2014; material icon named "width full" (sharp).
  static const IconData width_full_sharp = IconData(0xf077d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">width_full</i> &#x2014; material icon named "width full" (round).
  static const IconData width_full_rounded = IconData(0xf082d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">width_full</i> &#x2014; material icon named "width full" (outlined).
  static const IconData width_full_outlined = IconData(0xf0725, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">width_normal</i> &#x2014; material icon named "width normal".
  static const IconData width_normal = IconData(0xf07d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">width_normal</i> &#x2014; material icon named "width normal" (sharp).
  static const IconData width_normal_sharp = IconData(0xf077e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">width_normal</i> &#x2014; material icon named "width normal" (round).
  static const IconData width_normal_rounded = IconData(0xf082e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">width_normal</i> &#x2014; material icon named "width normal" (outlined).
  static const IconData width_normal_outlined = IconData(0xf0726, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">width_wide</i> &#x2014; material icon named "width wide".
  static const IconData width_wide = IconData(0xf07d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">width_wide</i> &#x2014; material icon named "width wide" (sharp).
  static const IconData width_wide_sharp = IconData(0xf077f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">width_wide</i> &#x2014; material icon named "width wide" (round).
  static const IconData width_wide_rounded = IconData(0xf082f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">width_wide</i> &#x2014; material icon named "width wide" (outlined).
  static const IconData width_wide_outlined = IconData(0xf0727, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi</i> &#x2014; material icon named "wifi".
  static const IconData wifi = IconData(0xe6e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi</i> &#x2014; material icon named "wifi" (sharp).
  static const IconData wifi_sharp = IconData(0xede0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi</i> &#x2014; material icon named "wifi" (round).
  static const IconData wifi_rounded = IconData(0xf02bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi</i> &#x2014; material icon named "wifi" (outlined).
  static const IconData wifi_outlined = IconData(0xf4cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_1_bar</i> &#x2014; material icon named "wifi 1 bar".
  static const IconData wifi_1_bar = IconData(0xf07d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_1_bar</i> &#x2014; material icon named "wifi 1 bar" (sharp).
  static const IconData wifi_1_bar_sharp = IconData(0xf0780, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_1_bar</i> &#x2014; material icon named "wifi 1 bar" (round).
  static const IconData wifi_1_bar_rounded = IconData(0xf0830, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_1_bar</i> &#x2014; material icon named "wifi 1 bar" (outlined).
  static const IconData wifi_1_bar_outlined = IconData(0xf0728, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_2_bar</i> &#x2014; material icon named "wifi 2 bar".
  static const IconData wifi_2_bar = IconData(0xf07d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_2_bar</i> &#x2014; material icon named "wifi 2 bar" (sharp).
  static const IconData wifi_2_bar_sharp = IconData(0xf0781, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_2_bar</i> &#x2014; material icon named "wifi 2 bar" (round).
  static const IconData wifi_2_bar_rounded = IconData(0xf0831, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_2_bar</i> &#x2014; material icon named "wifi 2 bar" (outlined).
  static const IconData wifi_2_bar_outlined = IconData(0xf0729, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_calling</i> &#x2014; material icon named "wifi calling".
  static const IconData wifi_calling = IconData(0xe6e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_calling</i> &#x2014; material icon named "wifi calling" (sharp).
  static const IconData wifi_calling_sharp = IconData(0xeddc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_calling</i> &#x2014; material icon named "wifi calling" (round).
  static const IconData wifi_calling_rounded = IconData(0xf02bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_calling</i> &#x2014; material icon named "wifi calling" (outlined).
  static const IconData wifi_calling_outlined = IconData(0xf4c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_calling_3</i> &#x2014; material icon named "wifi calling 3".
  static const IconData wifi_calling_3 = IconData(0xe6e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_calling_3</i> &#x2014; material icon named "wifi calling 3" (sharp).
  static const IconData wifi_calling_3_sharp = IconData(0xeddb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_calling_3</i> &#x2014; material icon named "wifi calling 3" (round).
  static const IconData wifi_calling_3_rounded = IconData(0xf02ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_calling_3</i> &#x2014; material icon named "wifi calling 3" (outlined).
  static const IconData wifi_calling_3_outlined = IconData(0xf4c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_channel</i> &#x2014; material icon named "wifi channel".
  static const IconData wifi_channel = IconData(0xf05a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_channel</i> &#x2014; material icon named "wifi channel" (sharp).
  static const IconData wifi_channel_sharp = IconData(0xf04ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_channel</i> &#x2014; material icon named "wifi channel" (round).
  static const IconData wifi_channel_rounded = IconData(0xf03b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_channel</i> &#x2014; material icon named "wifi channel" (outlined).
  static const IconData wifi_channel_outlined = IconData(0xf069a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_find</i> &#x2014; material icon named "wifi find".
  static const IconData wifi_find = IconData(0xf05a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_find</i> &#x2014; material icon named "wifi find" (sharp).
  static const IconData wifi_find_sharp = IconData(0xf04ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_find</i> &#x2014; material icon named "wifi find" (round).
  static const IconData wifi_find_rounded = IconData(0xf03ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_find</i> &#x2014; material icon named "wifi find" (outlined).
  static const IconData wifi_find_outlined = IconData(0xf069b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_lock</i> &#x2014; material icon named "wifi lock".
  static const IconData wifi_lock = IconData(0xe6ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_lock</i> &#x2014; material icon named "wifi lock" (sharp).
  static const IconData wifi_lock_sharp = IconData(0xeddd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_lock</i> &#x2014; material icon named "wifi lock" (round).
  static const IconData wifi_lock_rounded = IconData(0xf02bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_lock</i> &#x2014; material icon named "wifi lock" (outlined).
  static const IconData wifi_lock_outlined = IconData(0xf4ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_off</i> &#x2014; material icon named "wifi off".
  static const IconData wifi_off = IconData(0xe6eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_off</i> &#x2014; material icon named "wifi off" (sharp).
  static const IconData wifi_off_sharp = IconData(0xedde, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_off</i> &#x2014; material icon named "wifi off" (round).
  static const IconData wifi_off_rounded = IconData(0xf02bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_off</i> &#x2014; material icon named "wifi off" (outlined).
  static const IconData wifi_off_outlined = IconData(0xf4cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_password</i> &#x2014; material icon named "wifi password".
  static const IconData wifi_password = IconData(0xf05a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_password</i> &#x2014; material icon named "wifi password" (sharp).
  static const IconData wifi_password_sharp = IconData(0xf04ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_password</i> &#x2014; material icon named "wifi password" (round).
  static const IconData wifi_password_rounded = IconData(0xf03bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_password</i> &#x2014; material icon named "wifi password" (outlined).
  static const IconData wifi_password_outlined = IconData(0xf069c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_protected_setup</i> &#x2014; material icon named "wifi protected setup".
  static const IconData wifi_protected_setup = IconData(0xe6ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_protected_setup</i> &#x2014; material icon named "wifi protected setup" (sharp).
  static const IconData wifi_protected_setup_sharp = IconData(0xeddf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_protected_setup</i> &#x2014; material icon named "wifi protected setup" (round).
  static const IconData wifi_protected_setup_rounded = IconData(0xf02be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_protected_setup</i> &#x2014; material icon named "wifi protected setup" (outlined).
  static const IconData wifi_protected_setup_outlined = IconData(0xf4cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_tethering</i> &#x2014; material icon named "wifi tethering".
  static const IconData wifi_tethering = IconData(0xe6ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_tethering</i> &#x2014; material icon named "wifi tethering" (sharp).
  static const IconData wifi_tethering_sharp = IconData(0xede3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_tethering</i> &#x2014; material icon named "wifi tethering" (round).
  static const IconData wifi_tethering_rounded = IconData(0xf02c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_tethering</i> &#x2014; material icon named "wifi tethering" (outlined).
  static const IconData wifi_tethering_outlined = IconData(0xf4d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_tethering_error</i> &#x2014; material icon named "wifi tethering error".
  static const IconData wifi_tethering_error = IconData(0xf05aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_tethering_error</i> &#x2014; material icon named "wifi tethering error" (sharp).
  static const IconData wifi_tethering_error_sharp = IconData(0xf04af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_tethering_error</i> &#x2014; material icon named "wifi tethering error".
  static const IconData wifi_tethering_error_rounded = IconData(0xf05aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_tethering_error</i> &#x2014; material icon named "wifi tethering error" (outlined).
  static const IconData wifi_tethering_error_outlined = IconData(0xf069d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_tethering_error_rounded</i> &#x2014; material icon named "wifi tethering error rounded" (sharp).
  static const IconData wifi_tethering_error_rounded_sharp = IconData(0xf04af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_tethering_error_rounded</i> &#x2014; material icon named "wifi tethering error rounded" (round).
  static const IconData wifi_tethering_error_rounded_rounded = IconData(0xf02c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_tethering_error_rounded</i> &#x2014; material icon named "wifi tethering error rounded" (outlined).
  static const IconData wifi_tethering_error_rounded_outlined = IconData(0xf069d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_tethering_off</i> &#x2014; material icon named "wifi tethering off".
  static const IconData wifi_tethering_off = IconData(0xe6ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_tethering_off</i> &#x2014; material icon named "wifi tethering off" (sharp).
  static const IconData wifi_tethering_off_sharp = IconData(0xede2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_tethering_off</i> &#x2014; material icon named "wifi tethering off" (round).
  static const IconData wifi_tethering_off_rounded = IconData(0xf02c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_tethering_off</i> &#x2014; material icon named "wifi tethering off" (outlined).
  static const IconData wifi_tethering_off_outlined = IconData(0xf4cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wind_power</i> &#x2014; material icon named "wind power".
  static const IconData wind_power = IconData(0xf07da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wind_power</i> &#x2014; material icon named "wind power" (sharp).
  static const IconData wind_power_sharp = IconData(0xf0782, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wind_power</i> &#x2014; material icon named "wind power" (round).
  static const IconData wind_power_rounded = IconData(0xf0832, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wind_power</i> &#x2014; material icon named "wind power" (outlined).
  static const IconData wind_power_outlined = IconData(0xf072a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">window</i> &#x2014; material icon named "window".
  static const IconData window = IconData(0xe6f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">window</i> &#x2014; material icon named "window" (sharp).
  static const IconData window_sharp = IconData(0xede4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">window</i> &#x2014; material icon named "window" (round).
  static const IconData window_rounded = IconData(0xf02c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">window</i> &#x2014; material icon named "window" (outlined).
  static const IconData window_outlined = IconData(0xf4d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wine_bar</i> &#x2014; material icon named "wine bar".
  static const IconData wine_bar = IconData(0xe6f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wine_bar</i> &#x2014; material icon named "wine bar" (sharp).
  static const IconData wine_bar_sharp = IconData(0xede5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wine_bar</i> &#x2014; material icon named "wine bar" (round).
  static const IconData wine_bar_rounded = IconData(0xf02c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wine_bar</i> &#x2014; material icon named "wine bar" (outlined).
  static const IconData wine_bar_outlined = IconData(0xf4d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">woman</i> &#x2014; material icon named "woman".
  static const IconData woman = IconData(0xf05ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">woman</i> &#x2014; material icon named "woman" (sharp).
  static const IconData woman_sharp = IconData(0xf04b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">woman</i> &#x2014; material icon named "woman" (round).
  static const IconData woman_rounded = IconData(0xf03bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">woman</i> &#x2014; material icon named "woman" (outlined).
  static const IconData woman_outlined = IconData(0xf069e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">woman_2</i> &#x2014; material icon named "woman 2".
  static const IconData woman_2 = IconData(0xf087c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">woman_2</i> &#x2014; material icon named "woman 2" (sharp).
  static const IconData woman_2_sharp = IconData(0xf0851, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">woman_2</i> &#x2014; material icon named "woman 2" (round).
  static const IconData woman_2_rounded = IconData(0xf089a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">woman_2</i> &#x2014; material icon named "woman 2" (outlined).
  static const IconData woman_2_outlined = IconData(0xf08b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">woo_commerce</i> &#x2014; material icon named "woo commerce".
  static const IconData woo_commerce = IconData(0xf05ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">woo_commerce</i> &#x2014; material icon named "woo commerce" (sharp).
  static const IconData woo_commerce_sharp = IconData(0xf04b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">woo_commerce</i> &#x2014; material icon named "woo commerce" (round).
  static const IconData woo_commerce_rounded = IconData(0xf03be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">woo_commerce</i> &#x2014; material icon named "woo commerce" (outlined).
  static const IconData woo_commerce_outlined = IconData(0xf069f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wordpress</i> &#x2014; material icon named "wordpress".
  static const IconData wordpress = IconData(0xf05ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wordpress</i> &#x2014; material icon named "wordpress" (sharp).
  static const IconData wordpress_sharp = IconData(0xf04b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wordpress</i> &#x2014; material icon named "wordpress" (round).
  static const IconData wordpress_rounded = IconData(0xf03bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wordpress</i> &#x2014; material icon named "wordpress" (outlined).
  static const IconData wordpress_outlined = IconData(0xf06a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">work</i> &#x2014; material icon named "work".
  static const IconData work = IconData(0xe6f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">work</i> &#x2014; material icon named "work" (sharp).
  static const IconData work_sharp = IconData(0xede8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">work</i> &#x2014; material icon named "work" (round).
  static const IconData work_rounded = IconData(0xf02c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">work</i> &#x2014; material icon named "work" (outlined).
  static const IconData work_outlined = IconData(0xf4d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">work_history</i> &#x2014; material icon named "work history".
  static const IconData work_history = IconData(0xf07db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">work_history</i> &#x2014; material icon named "work history" (sharp).
  static const IconData work_history_sharp = IconData(0xf0783, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">work_history</i> &#x2014; material icon named "work history" (round).
  static const IconData work_history_rounded = IconData(0xf0833, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">work_history</i> &#x2014; material icon named "work history" (outlined).
  static const IconData work_history_outlined = IconData(0xf072b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">work_off</i> &#x2014; material icon named "work off".
  static const IconData work_off = IconData(0xe6f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">work_off</i> &#x2014; material icon named "work off" (sharp).
  static const IconData work_off_sharp = IconData(0xede6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">work_off</i> &#x2014; material icon named "work off" (round).
  static const IconData work_off_rounded = IconData(0xf02c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">work_off</i> &#x2014; material icon named "work off" (outlined).
  static const IconData work_off_outlined = IconData(0xf4d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">work_outline</i> &#x2014; material icon named "work outline".
  static const IconData work_outline = IconData(0xe6f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">work_outline</i> &#x2014; material icon named "work outline" (sharp).
  static const IconData work_outline_sharp = IconData(0xede7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">work_outline</i> &#x2014; material icon named "work outline" (round).
  static const IconData work_outline_rounded = IconData(0xf02c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">work_outline</i> &#x2014; material icon named "work outline" (outlined).
  static const IconData work_outline_outlined = IconData(0xf4d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">workspace_premium</i> &#x2014; material icon named "workspace premium".
  static const IconData workspace_premium = IconData(0xf05ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">workspace_premium</i> &#x2014; material icon named "workspace premium" (sharp).
  static const IconData workspace_premium_sharp = IconData(0xf04b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">workspace_premium</i> &#x2014; material icon named "workspace premium" (round).
  static const IconData workspace_premium_rounded = IconData(0xf03c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">workspace_premium</i> &#x2014; material icon named "workspace premium" (outlined).
  static const IconData workspace_premium_outlined = IconData(0xf06a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">workspaces</i> &#x2014; material icon named "workspaces".
  static const IconData workspaces = IconData(0xe6f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">workspaces</i> &#x2014; material icon named "workspaces" (sharp).
  static const IconData workspaces_sharp = IconData(0xede9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">workspaces</i> &#x2014; material icon named "workspaces" (round).
  static const IconData workspaces_rounded = IconData(0xf02c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">workspaces</i> &#x2014; material icon named "workspaces" (outlined).
  static const IconData workspaces_outlined = IconData(0xf4d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">workspaces_filled</i> &#x2014; material icon named "workspaces filled".
  static const IconData workspaces_filled = IconData(0xe6f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">workspaces_outline</i> &#x2014; material icon named "workspaces outline".
  static const IconData workspaces_outline = IconData(0xe6f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wrap_text</i> &#x2014; material icon named "wrap text".
  static const IconData wrap_text = IconData(0xe6f8, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">wrap_text</i> &#x2014; material icon named "wrap text" (sharp).
  static const IconData wrap_text_sharp = IconData(0xedea, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">wrap_text</i> &#x2014; material icon named "wrap text" (round).
  static const IconData wrap_text_rounded = IconData(0xf02c9, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">wrap_text</i> &#x2014; material icon named "wrap text" (outlined).
  static const IconData wrap_text_outlined = IconData(0xf4d7, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">wrong_location</i> &#x2014; material icon named "wrong location".
  static const IconData wrong_location = IconData(0xe6f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wrong_location</i> &#x2014; material icon named "wrong location" (sharp).
  static const IconData wrong_location_sharp = IconData(0xedeb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wrong_location</i> &#x2014; material icon named "wrong location" (round).
  static const IconData wrong_location_rounded = IconData(0xf02ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wrong_location</i> &#x2014; material icon named "wrong location" (outlined).
  static const IconData wrong_location_outlined = IconData(0xf4d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wysiwyg</i> &#x2014; material icon named "wysiwyg".
  static const IconData wysiwyg = IconData(0xe6fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wysiwyg</i> &#x2014; material icon named "wysiwyg" (sharp).
  static const IconData wysiwyg_sharp = IconData(0xedec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wysiwyg</i> &#x2014; material icon named "wysiwyg" (round).
  static const IconData wysiwyg_rounded = IconData(0xf02cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wysiwyg</i> &#x2014; material icon named "wysiwyg" (outlined).
  static const IconData wysiwyg_outlined = IconData(0xf4d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">yard</i> &#x2014; material icon named "yard".
  static const IconData yard = IconData(0xe6fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">yard</i> &#x2014; material icon named "yard" (sharp).
  static const IconData yard_sharp = IconData(0xeded, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">yard</i> &#x2014; material icon named "yard" (round).
  static const IconData yard_rounded = IconData(0xf02cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">yard</i> &#x2014; material icon named "yard" (outlined).
  static const IconData yard_outlined = IconData(0xf4da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">youtube_searched_for</i> &#x2014; material icon named "youtube searched for".
  static const IconData youtube_searched_for = IconData(0xe6fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">youtube_searched_for</i> &#x2014; material icon named "youtube searched for" (sharp).
  static const IconData youtube_searched_for_sharp = IconData(0xedee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">youtube_searched_for</i> &#x2014; material icon named "youtube searched for" (round).
  static const IconData youtube_searched_for_rounded = IconData(0xf02cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">youtube_searched_for</i> &#x2014; material icon named "youtube searched for" (outlined).
  static const IconData youtube_searched_for_outlined = IconData(0xf4db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">zoom_in</i> &#x2014; material icon named "zoom in".
  static const IconData zoom_in = IconData(0xe6fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">zoom_in</i> &#x2014; material icon named "zoom in" (sharp).
  static const IconData zoom_in_sharp = IconData(0xedef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">zoom_in</i> &#x2014; material icon named "zoom in" (round).
  static const IconData zoom_in_rounded = IconData(0xf02ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">zoom_in</i> &#x2014; material icon named "zoom in" (outlined).
  static const IconData zoom_in_outlined = IconData(0xf4dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">zoom_in_map</i> &#x2014; material icon named "zoom in map".
  static const IconData zoom_in_map = IconData(0xf05af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">zoom_in_map</i> &#x2014; material icon named "zoom in map" (sharp).
  static const IconData zoom_in_map_sharp = IconData(0xf04b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">zoom_in_map</i> &#x2014; material icon named "zoom in map" (round).
  static const IconData zoom_in_map_rounded = IconData(0xf03c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">zoom_in_map</i> &#x2014; material icon named "zoom in map" (outlined).
  static const IconData zoom_in_map_outlined = IconData(0xf06a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">zoom_out</i> &#x2014; material icon named "zoom out".
  static const IconData zoom_out = IconData(0xe6fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">zoom_out</i> &#x2014; material icon named "zoom out" (sharp).
  static const IconData zoom_out_sharp = IconData(0xedf1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">zoom_out</i> &#x2014; material icon named "zoom out" (round).
  static const IconData zoom_out_rounded = IconData(0xf02d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">zoom_out</i> &#x2014; material icon named "zoom out" (outlined).
  static const IconData zoom_out_outlined = IconData(0xf4de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">zoom_out_map</i> &#x2014; material icon named "zoom out map".
  static const IconData zoom_out_map = IconData(0xe6ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">zoom_out_map</i> &#x2014; material icon named "zoom out map" (sharp).
  static const IconData zoom_out_map_sharp = IconData(0xedf0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">zoom_out_map</i> &#x2014; material icon named "zoom out map" (round).
  static const IconData zoom_out_map_rounded = IconData(0xf02cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">zoom_out_map</i> &#x2014; material icon named "zoom out map" (outlined).
  static const IconData zoom_out_map_outlined = IconData(0xf4dd, fontFamily: 'MaterialIcons');
  // END GENERATED ICONS
}
