<!--5f39ae17-8c62-4a45-bc43-b32064c9388a:W3siYmxvY2tJZCI6Ijk1NDctMTU0NjY1NzUwNTUxMiIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6e30sInR5cGUiOiJwYXJhZ3JhcGgiLCJyaWNoVGV4dCI6eyJkYXRhIjpbeyJjaGFyIjoi566AIiwic3R5bGVzIjp7ImJvbGQiOnRydWUsImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImZvbnQtc2l6ZSI6MTYsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuWNlSIsInN0eWxlcyI6eyJib2xkIjp0cnVlLCJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJmb250LXNpemUiOjE2LCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLlt6UiLCJzdHlsZXMiOnsiYm9sZCI6dHJ1ZSwiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiZm9udC1zaXplIjoxNiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5Y6CIiwic3R5bGVzIjp7ImJvbGQiOnRydWUsImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImZvbnQtc2l6ZSI6MTYsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuaooSIsInN0eWxlcyI6eyJib2xkIjp0cnVlLCJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJmb250LXNpemUiOjE2LCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLlvI8iLCJzdHlsZXMiOnsiYm9sZCI6dHJ1ZSwiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiZm9udC1zaXplIjoxNiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi55qEIiwic3R5bGVzIjp7ImJvbGQiOnRydWUsImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImZvbnQtc2l6ZSI6MTYsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuamgiIsInN0eWxlcyI6eyJib2xkIjp0cnVlLCJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJmb250LXNpemUiOjE2LCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLlv7UiLCJzdHlsZXMiOnsiYm9sZCI6dHJ1ZSwiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiZm9udC1zaXplIjoxNiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX1dLCJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlfX0seyJibG9ja0lkIjoiMjk5NS0xNTQ2NjU3NjAwNzM4IiwiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7ImJhY2stY29sb3IiOiIjZmZmZmZmIiwiYWxpZ24iOiJsZWZ0In0sInR5cGUiOiJwYXJhZ3JhcGgiLCJyaWNoVGV4dCI6eyJkYXRhIjpbeyJjaGFyIjoi44CAIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuOAgCIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLlsLEiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5pivIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuW7uiIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLnq4siLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5LiAIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuS4qiIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLlt6UiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5Y6CIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuexuyIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLvvIwiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5a+5Iiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuWuniIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLnjrAiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5LqGIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuWQjCIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLkuIAiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5o6lIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuWPoyIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLnmoQiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5LiAIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuS6myIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLnsbsiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi6L+bIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuihjCIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLlrp4iLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5L6LIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IueahCIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLliJsiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5bu6Iiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuOAgiIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLnroAiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5Y2VIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuW3pSIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLljoIiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5qihIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuW8jyIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLnmoQiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5a6eIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6Iui0qCIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLmmK8iLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi55SxIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuS4gCIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLkuKoiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5belIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuWOgiIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLnsbsiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5qC5Iiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuaNriIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLkvKAiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5YWlIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IueahCIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLlj4IiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5pWwIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6Iu+8jCIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLliqgiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5oCBIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuWGsyIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLlrpoiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5bqUIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuivpSIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLliJsiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5bu6Iiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuWTqiIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLkuIAiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5LiqIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuS6pyIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLlk4EiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi57G7Iiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6Iu+8iCIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLov5kiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5LqbIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuS6pyIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLlk4EiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi57G7Iiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6Iue7pyIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLmib8iLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi6IeqIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuS4gCIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLkuKoiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi54i2Iiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuexuyIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLmiJYiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi5o6lIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuWPoyIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLvvIkiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi55qEIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19LHsiY2hhciI6IuWuniIsInN0eWxlcyI6eyJmb250LWZhbWlseSI6IlZlcmRhbmEiLCJjb2xvciI6IiMzMzMzMzMiLCJiYWNrLWNvbG9yIjoiI2ZmZmZmZiJ9fSx7ImNoYXIiOiLkvosiLCJzdHlsZXMiOnsiZm9udC1mYW1pbHkiOiJWZXJkYW5hIiwiY29sb3IiOiIjMzMzMzMzIiwiYmFjay1jb2xvciI6IiNmZmZmZmYifX0seyJjaGFyIjoi44CCIiwic3R5bGVzIjp7ImZvbnQtZmFtaWx5IjoiVmVyZGFuYSIsImNvbG9yIjoiIzMzMzMzMyIsImJhY2stY29sb3IiOiIjZmZmZmZmIn19XSwiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZX19XQ==-->
/**
* 产品的抽象接口 水果
* @author ninghq
*
*/
public interface Fruit {
public void name();
}
产品具体类
/**
* Apple 苹果
* @author ninghq
*
*/
public class Apple implements Fruit {
@Override
public void name() {
// TODO Auto-generated method stub
System.out.println("苹果");
}
}
/** * Banana 香蕉 * @author ninghq * */ public class Banana implements Fruit { @Override public void name() { // TODO Auto-generated method stub System.out.println("香蕉"); } }工厂类
/** * 简单工厂 * @author ninghq * */ public class SampleFactory { public static Fruit makeFruit(String type){ if(type.equals("apple")){ Fruit fruit = new Apple(); return fruit; }else if(type.equals("banana")){ Fruit fruit = new Banana(); return fruit; }else{ System.out.println("生产不出来"); return null; } } }
/** * 简单工厂反射实现 * @author ninghq * */ public class SampleFactory1 { public static Fruit makeFruit(Class c){ Fruit fruit = null; try { fruit = (Fruit) Class.forName(c.getName()).newInstance(); } catch (InstantiationException e) { System.out.println("不支持抽象类或接口"); e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); System.out.println("没有足够权限,即不能访问私有对象"); } catch (ClassNotFoundException e) { System.out.println("类不存在"); e.printStackTrace(); } return fruit; } }客户端
/** * 简单工厂客户端 * @author ninghq * */ public class Client { public static void main(String[] args) { // Fruit apple = SampleFactory.makeFruit("apple"); // apple.name(); // Fruit banana = SampleFactory.makeFruit("banana"); // banana.name(); // Fruit test = SampleFactory.makeFruit("1111"); Fruit apple = SampleFactory1.makeFruit(Apple.class); apple.name(); Fruit banana = SampleFactory1.makeFruit(Banana.class); banana.name(); } }
相关推荐
java设计模式----抽象工厂模式,简单工厂模式代码 代码内部
根据给定文件内容,以下是关于Java设计模式的知识点说明: 1. 策略模式(Strategy Pattern)是一种行为设计模式,允许在运行时选择算法的行为。策略模式的意图是定义一系列算法,将每个算法封装起来,并使它们可以...
Java设计模式中的工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。工厂模式的核心思想是将对象的创建过程封装起来,使得创建过程独立于使用过程,从而提高了代码的可扩展性和可维护性。在HeadFirst...
Java设计模式是软件开发中的一种最佳实践,它总结了在解决特定问题时程序员们经常采用的有效方法。这个“JAVA设计模式-chm版”资源显然包含了关于Java设计模式的详细信息,便于理解和应用。设计模式是对常见问题的...
Java设计模式中的工厂模式是一种创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,当客户端请求创建一个产品对象时,它不会直接创建,而是调用一个工厂对象来完成创建工作。这种模式的核心在于封装了对象...
JAVA-设计模式-创建型模式-工厂模式
简单工厂模式是面向对象设计中的一种经典设计模式,它属于创建型模式,主要用来解决对象的创建问题。在Java编程中,简单工厂模式通过一个中心工厂类来负责创建相关的对象,而无需让客户端代码直接new具体的产品类。...
Java设计模式是软件开发中的重要概念,它们是解决常见编程问题的经验总结,为代码组织提供了标准的结构和模式。工厂模式作为最常用的设计模式之一,是创建型模式的代表,它的主要目标是提供一个创建对象的接口,但让...
java设计模式-创建者模式-简单工厂模式。详细的讲解了什么是工厂方法模式及应用场景和应用场景的代码事例。及各工厂模式的区别。
Java设计模式是软件工程中的一种重要思想,它总结了在解决特定问题时,程序员们反复使用的一些最佳实践和解决方案。这个资源"Java设计模式----通俗易懂版"显然是一个专门针对初学者或需要深入理解设计模式的开发者...
**Java设计模式——简单工厂** 简单工厂模式是软件设计模式中的一种基础模式,它属于创建型设计模式。在Java编程中,我们常常会遇到需要创建一系列相关或相互依赖的对象,而这些对象的创建过程可能会非常复杂。这时...
简单工厂模式是Java设计模式中创建型模式的一种,也被称为静态工厂方法模式。该模式的主要思想是由一个专门的工厂类来负责创建其他类的实例。简单工厂模式通过封装创建对象的过程,使得调用者无需关心对象的具体创建...
Java设计模式 - 简单工厂 & 工厂方法(构建工厂)源码:FactoryModel - 详情:https://blog.csdn.net/Dream_Weave/article/details/83989879
Java设计模式-建造者模式详解 Java设计模式-建造者模式详解将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。生成器模式(Builder)是使用多个“小型”工厂来最终创建出一个完整对象。...
Java设计模式、程序设计、反射、注解和泛型是Java开发中的核心概念,它们各自在不同的场景下发挥着重要作用,构建出高效、可维护的软件系统。 首先,Java设计模式是面向对象编程中的一种最佳实践,是解决常见问题的...
下面是一个简单的Java抽象工厂模式的示例: ```java // 抽象工厂接口 public interface WidgetFactory { Button createButton(); Label createLabel(); } // Windows具体工厂 public class WinWidgetFactory ...
java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式...
简单工厂模式则是创建型设计模式的另一种,它提供一个创建对象的接口,但是让子类决定实例化哪一个类。它负责创建所有可能的类的实例,一般被用来创建某一类产品。 在上述组装电脑的场景下,简单工厂模式可以帮助...
**Java设计模式——抽象工厂** 在软件工程中,设计模式是一种在特定场景下解决常见问题的模板或蓝图。抽象工厂模式是设计模式中的一种结构型模式,它提供了一个创建对象族的接口,但允许子类决定实例化哪一个类。这...
### Java设计模式详解 #### 1. 设计模式概述 设计模式是在软件设计过程中针对常见问题的可重复使用的解决方案。这些模式有助于解决软件设计中出现的常见问题,并提供了一种标准化的方法来解决问题,使得代码更加...