class_docstr: PIL read-only image support for Microsoft Windows .ico files.
  
  By default the largest resolution image in the file will be loaded. This
  can be changed by altering the 'size' attribute before calling 'load'.
  
  The info dictionary has a key 'sizes' that is a list of the sizes available
  in the icon file.
  
  Handles classic, XP and Vista icon formats.
  
  When saving, PNG compression is used. Support for this was only added in
  Windows Vista. If you are unable to view the icon in Windows, convert the
  image to "RGBA" mode before saving.
  
  This plugin is a refactored version of Win32IconImagePlugin by Bryan Davis
  <casadebender@gmail.com>.
  https://code.google.com/archive/p/casadebender/wikis/Win32IconImagePlugin.wiki
code: def _open(self):
      self.ico = IcoFile(self.fp)
      self.info["sizes"] = self.ico.sizes()
      self.size = self.ico.entry[0]["dim"]
      self.load()
  
imports: from __future__ import annotations
  import warnings
  from io import BytesIO
  from math import ceil, log
  from .None import BmpImagePlugin, Image, ImageFile, PngImagePlugin
  from ._binary import i16le
  from ._binary import i32le
  from ._binary import o8
  from ._binary import o16le
  from ._binary import o32le
label_desc: Use image node_id 1 for calling the IcoImageFile obj's underlying member method code with example usage: obj._open() without return types