BR102012021901A2 - Visualização de produto customizado no local - Google Patents

Visualização de produto customizado no local Download PDF

Info

Publication number
BR102012021901A2
BR102012021901A2 BRBR102012021901-8A BR102012021901A BR102012021901A2 BR 102012021901 A2 BR102012021901 A2 BR 102012021901A2 BR 102012021901 A BR102012021901 A BR 102012021901A BR 102012021901 A2 BR102012021901 A2 BR 102012021901A2
Authority
BR
Brazil
Prior art keywords
oxff
oxfe
marker
oxf
nodes
Prior art date
Application number
BRBR102012021901-8A
Other languages
English (en)
Other versions
BR102012021901B1 (pt
BR102012021901A8 (pt
Inventor
Leslie Young Harvill
Richard Harold Bean
Robert Irven Beaver Iii
Original Assignee
Zazzie Com Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zazzie Com Inc filed Critical Zazzie Com Inc
Publication of BR102012021901A2 publication Critical patent/BR102012021901A2/pt
Publication of BR102012021901A8 publication Critical patent/BR102012021901A8/pt
Publication of BR102012021901B1 publication Critical patent/BR102012021901B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • G06Q30/0643Graphical representation of items or shoppers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0621Item configuration or customization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/04Architectural design, interior design

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

VISUALIZAÇÃO DE PRODUTO CUSTOMIZADO NO LOCAL. São descritas técnicas para visualização de um produto na localização real no ambiente em que o produto na localização real no ambiente em que o produto deve ser usado ou exibido. Pode ser usada uma realização das abordagens descritas na presente no contexto de um sistema computadorizado que pode receber e armazenar imagens digitais, receber uma solicitação de fabricação de um produto caracterizado como customizado incluindo uma identificação de uma imagem a ser enquadrada e um tipo de moldura de papelão e/ou quadro, e que mostre uma imagem da previsão do produto caracterizado como customizado que simule a aparência real do produto, da forma mais real possível. Com esse sistema, a imagem de previsão pode ser altamente realista sob as condições idealizadas de iluminação e exibição.

Description

VISUALIZAÇÃO DE PRODUTO CUSTOMIZADO NO LOCAL
FUNDAMENTOS
Certas abordagens descritas em determinadas seções desta revelação e identificadas como “fundos” ou “abordagens anteriores” são abordagens que podem ser visadas, mas não necessariamente abordagens que tenham sido previamente concebidas ou visadas. Portanto, a menos que indicado de outra forma, deve ser suposto que qualquer das abordagens que sejam assim descritas realmente se qualifiquem como técnica anterior, simplesmente em virtude da identificação como “fundamentos” ou “abordagens anteriores.” Vários sistemas automatizados por computador estão atualmente disponíveis com os quais os usuários ou consumidores finais dos produtos podem projetar, prever e pedir produtos fabricados por encomenda que incorporem imagens ou gráficos. Os exemplos de produtos incluem roupas de uso, vasos de bebidas e itens acessórios. Em um sistema típico, um usuário ou consumidor final usa um terminal de computador com várias finalidades, como um computador pessoal com um navegador, para conectar uma rede pública a um computador servidor. O usuário seleciona uma imagem gráfica armazenada, ou carrega uma imagem digital que o usuário obteve ou fez. O usuário seleciona um tipo de produto para o qual a imagem gráfica deve se aplicar e especifica vários valores paramétricos referentes ao produto como cor, tamanho, local da colocação da imagem ou outros. O computador ou terminal servidor gera uma imagem de retribuição mostrando como o produto deverá aparecer após a fabricação customizada com a imagem especificada aplicada. O usuário aprova a imagem de retribuição e coloca um pedido para o produto. Um fabricante recebe os dados do pedido, fabrica o produto como especificado e fornece o produto customizado fabricado para o usuário.
Um tipo de produto de interesse—não oferecido nos sistemas anteriores típicos —é de materiais enquadrados ou montados. Uma moldura pode compreender uma moldura de madeira, peças de metal ou plástico. A montagem pode incluir um ou mais molduras de papelão ou pode compreender montagem flutuante. Os materiais podem incluir imagens digitais de fotografias de filme, arte digital original, impressos, pinturas, células de animação ou qualquer outro trabalho gráfico ou trabalho de artes visuais. O projeto em linha individualizado e a fabricação customizada desse material enquadrado e montado é tanto impossível ou imperfeito usando os sistemas existentes.
BREVE DESCRIÇÃO DOS DESENHOS A FIG. 1 é um fiuxograma de um processo para a visualização de um produto customizado no local; A FIG. 2 ilustra um marcador exemplar. A FIG. 3 ilustra um marcador exemplar.
As FIGS. 4A-B (coletivamente FIG. 4) são um fiuxograma de um processo para a caracterização de um sítio de usuário com um marcador. A FIG. 5 é um fiuxograma de um processo para criar um componente visual com os dados encontrados do sítio do usuário. A FIG. 6 é um diagrama de blocos que ilustra um sistema de computador com o qual as técnicas na presente podem ser constituídas.
DESCRIÇÃO DAS REALIZAÇÕES EXEMPLARES
Na seguinte descrição, com objetivos de esclarecimento, são colocados vários detalhes específicos para proporcionar uma compreensão completa da presente invenção. Entretanto, ficará aparente, que a presente invenção pode ser praticada sem esses detalhes específicos. Em outros exemplos, são mostradas estruturas e dispositivos bem conhecidos em forma de diagrama de blocos para evitar o desnecessário obscurecimento da presente invenção.
Os termos “compreendendo,” “compreende,” e “compreendem,” como usados na presente, que são sinônimos de "incluindo," "contendo," ou "caracterizado por," são inclusivos ou de extremidade aberta e não significam a exclusão de elementos adicionais, não mencionados ou de métodos.
VISUALIZAÇÃO DE UM PRODUTO CUSTOMIZADO NO LOCAL
Uma realização das abordagens da presente pode ser usada no contexto de um sistema computadorizado que pode receber e armazenar imagens digitais, receber uma solicitação de fabricação de um produto caracterizado como customizado incluindo uma identificação de uma imagem a ser enquadrada e um tipo de moldura de papelão e/ou quadro, e que mostre uma imagem da previsão do produto caracterizado como customizado que simule a aparência real do produto, da forma mais real possível. Com esse sistema, a imagem de previsão pode ser altamente realista sob as condições idealizadas de iluminação e exibição. Entretanto, a aparência das imagens enquadradas reais pode variar amplamente em diversos ambientes. Por exemplo, produtos enquadrados customizados são tipicamente exibidos pendurados em uma parede, mas a aparência do produto pode variar bastante em ambientes como salas interiores com diferentes níveis de iluminação, tipos de iluminação, tipos de paredes, papel de parede, superfícies refletivas ou outros ambientes de fundo.
Elementos e molduras de papelão enquadrados são representados em modelos 3D com valores parametrizados para permitir o redimensionamento e uso com diferentes materiais visuais. Por exemplo, modelos 3D de elementos de quadros podem ser preparados colocando o material colado no quadro real em um cavalete fixo adjacente a um primeiro espelho de superfície; é projetado um laser em um ângulo conhecido contra a superfície do material colado no quadro, sendo formada uma imagem digital da moldagem em conjunto com a linha do laser e um computador programado deduz, a partir da linha do laser, a geometria de uma superfície frontal do material colado no quadro, sendo obtido o perfil traseiro a partir do primeiro espelho de superfície. É tomada uma imagem subsequente com a linha laser removida, para capturar a textura superficial real da moldagem. A vista em perspectiva resultante da textura da superfície de moldagem é planificada para permitir o subsequente mapeamento da textura planificada em um modelo 3D gerado por computador da moldagem. Para molduras de papelão, a espessura real pode ser medida manualmente e entrada como um valor paramétrico, e uma imagem digital em vista em planta da textura da moldura de papelão pode ser tomada e usada em mapeamento de textura 3D.
Em uma realização, a imagem de previsão de um produto caracterizado como customizado pode ser modificada de forma a similar de perto a aparência real que terá o produto emoldurado customizado em um determinado ambiente.
As abordagens da presente oferecem vários benefícios em comparação com as abordagens anteriores. Por exemplo, o projeto dos marcadores exemplares mostrados na presente e a natureza do reconhecimento são diferentes para a caracterização da geometria do espaço. O projeto dos marcadores exemplares e a lógica de processamento descrita na presente permite para ambos a caracterização da geometria como também a iluminação. Essa robusta caracterização permite a garantia de que a geometria de um produto visualizado é precisa no ambiente caracterizado. Além disso, a lógica na presente pode ajustar a natureza da apresentação para compensar a cor ou o iluminamento do ambiente do usuário com base em uma imagem do usuário de um único marcador e de uma fotografia provida por um único usuário.
Além disso, o(s) sistema(s) na presente acomoda(m) a natureza dinâmica dos produtos fabricados customizados, que pode ser configurada tanto na natureza da montagem como também na natureza da decoração. O(s) sistema(s) contemplam o compartilhamento desses ambientes caracterizados em um mercado online em conjunto com o produto configurado/projetado para ser visualizado no local. A natureza “completa” do(s) sistema(s) contempla a caracterização do produto para a configuração/decoração, permitindo aos usuários a configuração/decoração e a visualização das realizações resultantes em ambientes caracterizados.
Com objetivos de ilustração do sistema e método de visualização no local, as realizações descritas na presente se referem a um produto caracterizado como customizado. Entretanto, o sistema e o método de visualização no local também podem ser usados para visualizar outros produtos customizados de montagem e exibição, para os quais seja desejável prover uma visualização no local do produto customizado para os usuários. Exemplos de outros produtos customizados para os quais o sistema e o método de visualização no local podem se aplicar incluem produtos de fabricação customizada com imagens ou textos providos pelo usuário como uma prancha de skate customizada, um globo customizado, um taco de baseball customizado, um teto de carro customizado e produtos em que ornamentos customizados tenham sido montados como, por exemplo, roupas customizadas ou outro produto ornamentável.
PROCESSO PARA A VISUALIZAÇÃO DE UM PRODUTO CUSTOMIZADO NO LOCAL
Com referência à FIG. 1, em uma realização, um processo para o processamento de dados compreende as seguintes etapas em geral: Uma representação digital de um marcador é transmitida (bloco 101) para um usuário. Por exemplo, o usuário, que pode ser um consumidor final de um serviço comercial de um produto fabricado customizado, usa um terminal de computador para conectar-se a um computador servidor associado ao serviço. O usuário estabelece uma conta com o serviço ou entra em uma conta existente. O usuário inicia um processo de projeto de um produto customizado. O usuário é avisado para baixar ou imprimir um arquivo digital, como um documento PDF ou arquivo de imagem gráfica, contendo a representação do marcador. O usuário imprime (bloco 102) o marcador em uma folha de papel. Em uma realização, o tamanho impresso da folha de papel é guardado no serviço em associação com os dados que descrevem o marcador. Por exemplo, o serviço pode guardar metadados que indicam que um determinado marcador tem 8 Yt x 11 polegadas, ou o tamanho métrico A4, ou qualquer outro tamanho adequado, e o usuário será avisado ou solicitado a imprimir o marcador em uma folha daquele tamanho. O usuário posiciona (bloco 103) o papel com o marcador em seu ambiente em um local em que o usuário deseja visualizar o produto fabricado customizado. Por exemplo, o usuário fixa a folha de papel a uma parede em que o usuário planeja montar ou exibir um produto customizável. O usuário tira (bloco 104) uma fotografia digital do marcador no local. Nesse contexto, “no local” significa a real localização no ambiente em que o produto customizado deve ser usado ou exibido. O usuário transmite (bloco 105) a fotografia para um serviço In-Situ Visualization (Visualização no Local).
Como ainda descrito na presente, o serviço usa o marcador para caracterizar (bloco 106) a posição, a orientação e a iluminação da fotografia do usuário. O serviço produz (bloco 107) um valor digital que visualiza o produto customizado no local. O valor digital pode ser produzido de maneira que o produto customizado, como visualizado pelo valor digital, reflita a posição e a orientação detectadas do marcador na fotografia do usuário e a iluminação no local real do marcador. Por exemplo, o valor digital pode ser uma imagem gráfica digital que o - serviço pode produzir para ser exibida no terminal de computador do usuário, para dar ao usuário uma visão simulada de uma aparência real do produto fabricado customizado como se montado ou exibido realmente no ambiente do usuário no local em que o usuário tiver posicionado previamente a folha. Ao invés de uma imagem digital, o valor digital pode ser um vídeo digital, um programa audiovisual digital ou um modelo gráfico do produto customizado. São agora descritos os aspectos dos componentes do processo geral precedente.
MARCADOR
Em uma realização, um marcador pode ter as seguintes características. O marcador pode ter um ou mais componentes lineares que podem ser reconhecidos, usando técnicas de reconhecimento de imagens, como linhas em uma fotografia tomada por uma câmara digital. Por exemplo, em uma realização, o marcador compreende uma pluralidade de linhas que têm tipicamente 0,25” a 0,5” polegadas de largura ou de espessura. Espera-se que os componentes lineares desses tamanhos apareçam suficientemente espessos ou em negrito em uma imagem de usuário para permitir um reconhecimento computadorizado das linhas na imagem do usuário, mesmo na presença de elementos de fundo ambientais do usuário como texturas de paredes, outros materiais montados, portas, cantos de paredes, pisos e outros elementos. Podem ser de difícil reconhecimento as linhas que forem muito finas como parte do marcador, considerando que as linhas que forem muito grossas podem ser difíceis de posicionar com precisão no espaço em relação ao ambiente.
Em uma realização, o marcador tem um limite quando impresso e fotografado, de maneira que os componentes lineares sejam isolados dos demais elementos do quadro no ambiente. O limite pode ser uma margem vazia. Assim, em uma realização, uma margem vazia separa os componentes lineares de uma borda de uma folha impressa que mostra o marcador. Portanto, a borda permite um melhor reconhecimento do marcador com relação ao ambiente e rompe ou separa a conectividade dos componentes lineares dos demais elementos da imagem que não fazem parte do marcador.
Em uma realização, os componentes lineares são dispostos para formarem um gráfico de conectividade. O gráfico de conectividade é uma associação de arcos que são conectados em pontos denominados nodos para formar uma pluralidade de regiões internas denominadas politopos. Em uma realização, cada marcador em particular tem um particular gráfico de conectividade com diferentes conectividades quando comparados a outros exemplos de marcadores determinados por uma pluralidade de características. As características exemplares que podem diferenciar um gráfico de conectividade de outro incluem aspectos de interseções de linhas, número de linhas e número de regiões internas. As realizações não exigem o uso de qualquer formato ou estilo de marcador em particular; por exemplo, enquanto um exemplo revelado na presente tem a aparência geral de uma grade retangular, podem ser usados muitos outros arranjos geométricos. O que é importante é que o serviço guardou metadados que descrevem um gráfico de conectividade de referência que deve ser visto na imagem digital do marcador e no ambiente do usuário.
Em uma realização, o formato do gráfico de conectividade do marcador tem orientação distinta. Por exemplo, cada marcador é dotado de uma ou mais características de maneira que a mudança de orientação ou de rotação do marcador produz uma aparência visual diferente. Essa característica permite uma análise de computador da imagem digital do usuário para determinar a real orientação que foi usada para o marcador quando foi colocado no ambiente do usuário.
Em uma realização, as relações espaciais do gráfico de conectividade são registradas, e usadas como meio para a detecção da posição e da orientação do marcador na fotografia. Por exemplo, a detecção pode envolver a busca para reconhecer características conhecidas dos nodos, linhas e politopos em um marcador de referência que combine com as mesmas características na imagem digital do usuário.
Em uma realização, as características dos nodos incluem uma contagem dos nodos em todo o gráfico marcador, uma contagem dos arcos que se conectam em um dado nodo, e uma adjacência de um nodo para politopos tendo uma dada contagem de nodos. Essas características de nodos podem ser usadas para diferenciar um gráfico de conectividade de outro. Isto é, se forem conhecidas à contagem de nodos, a contagem de arcos que se conectam em um dado nodo, e uma adjacência a uma contagem dos politopos de uma dada contagem de nodos, então as mesmas características podem ser identificadas quando a imagem digital do usuário é processada, e o marcador pode ser reconhecido na imagem digital do usuário somente quando as contagens e a adjacência combinarem.
Em uma realização, as características das linhas também podem ser usadas para detecção e diferenciação. Em uma realização, as características relevantes incluem o número de linhas (arcos) ou a contagem de arcos no gráfico marcador e a adjacência de cada linha para os politopos de uma dada contagem de arcos.
Em uma realização, as características das regiões ou dos politopos internos também podem ser usadas para detecção e diferenciação. Em uma realização, as características relevantes para o número de regiões internas (politopos) incluem uma contagem dos politopos no gráfico marcador e uma contagem dos nodos em cada politopo.
Em certas realizações, o gráfico de conectividade das linhas também pode ser lido pelo usuário como um símbolo, gráfico ou legenda, como uma marca ou marca comercial de uma companhia.
Em uma realização, são providos um ou mais espaços abertos no marcador impresso e podem ser desimpressos ou impressos com cores leves ou tons que proporcionem um meio para a detecção da iluminação do sítio do usuário. Os espaços abertos podem ser denominados “pontos de amostragem luminosa”. Além disso, são conhecidas as áreas de impressão completa do gráfico de linhas do marcador e podem ser denominadas de “pontos de amostragem escura”. Se os “pontos de amostragem luminosa” e os “pontos de amostragem escura” forem detectados em uma imagem de usuário do marcador no ambiente, então com base nos valores de luminância ou outros dados que representem os pontos de amostragem, o computador pode determinar um gradiente luminoso que existe entre os pontos de amostragem e pode modificar a aparência de um valor digital para simular a iluminação real no ambiente do usuário.
As cores podem compreender o preto, branco e cinza, em uma realização e podem facilitar diferentes tipos de análise de imagens. Por exemplo, se o computador não puder detectar um espaço cinza em um marcador candidato na imagem do usuário, então o computador pode determinar que a imagem do usuário tem um nível excessivo de branco ou está “apagada” e precisa ser retomada para permitir um preciso reconhecimento. A iluminação em um ambiente pode parecer ter uma tendência de cores quando registrada por um dispositivo digital como uma câmara digital. Essa tendência ocorre porque a luz que ilumina o ambiente pode ser de uma ou mais variedades dos diferentes tipos que incluem a luz solar, incandescente, de vapor de mercúrio, fluorescente, etc. que têm determinadas distribuições espectrais que o olho humano vê como branco, mas que o dispositivo digital registra como uma determinada cor.
Em uma realização, o marcador inclui uma área cinza de tonalidade média que permite um preciso reconhecimento de uma tendência de iluminação na imagem do usuário. Além disso, ou alternativamente, as tonalidades de cores pastel podem ser usadas para ajudar o reconhecimento do usuário de uma tendência de cor na iluminação do ambiente do usuário. Por exemplo, pode ser útil incluir um conhecido tom de verde ou um tom rosa nas áreas selecionadas do marcador de referência para ajudar no reconhecimento de se o ambiente do usuário está principalmente iluminado usando lâmpadas fluorescentes ou lâmpadas incandescentes e aplicar uma tendência de cor similar ao valor digital que simula o produto fabricado customizado no ambiente sob a mesma iluminação.
MARCADORES EXEMPLARES
As FIG. 2 e FIG. 3 ilustram exemplos de marcadores. Primeiro com referência à FIG. 2, em uma realização, um marcador lembra uma marca comercial de uma entidade comercial, nesse caso, o logo Z de Zazzle Inc., Redwood City, Califórnia. O marcador 202 compreende uma pluralidade de arcos 204. Os nodos exemplares 206A, 206B estão nas interseções dos arcos, e o marcador define uma pluralidade de politopos cujos exemplos são os politopos 208A, 208B, 208C. As partes de canto 210 do marcador 202 não são uniformes com relação à forma de interseção do arco, de maneira que pode ser detectada uma orientação do marcador usando técnicas análise de imagens por computador. A contagem dos arcos associada a um determinado nodo também varia; por exemplo, o nodo 206A está em uma interseção de quatro (4) arcos, considerando que o nodo 206B está em uma interseção de três (3) arcos. Portanto, quando o marcador 202 é reconhecido em uma imagem de usuário, o marcador pode se caracterizar em termos do número de nodos e da contagem de arcos em cada nodo e comparado aos dados de referência que descrevem um marcador de referência para determinar se a combinação ocorre. O marcador 202 também pode ser caracterizado pelo número de politopos adjacentes associados a um nodo; por exemplo, o nodo 206A está associado a quatro (4) politopos adjacentes considerando que o nodo 206B tem três (3) adjacências. Além disso, os dados de caracterização de um determinado marcador permite o eficiente processamento da imagem; por exemplo, um algoritmo para o reconhecimento de imagem pode ser configurado para rejeitar um item candidato reconhecido em uma imagem de usuário como um potencial marcador de combinação na primeira vez em que seja determinado que uma caracterização do item não combina com o marcador de referência. Por exemplo, quando o computador opera para o reconhecimento de um item candidato, logo que o computador determinar que o item candidato tem muito poucos ou tem muitos arcos, nodos, ou politopos, o item candidato pode ser rejeitado e o processo pode prosseguir na consideração de outro item candidato. O número de itens de caracterização de um marcador é, de preferência, relativamente pequeno para evitar a exigência de grandes quantidades desnecessárias de tempo de processamento de dados. Por exemplo, é sabido que quando um marcador é complexo e tem um grande número de arcos, nodos e politopos, o tempo de processamento e o espaço de armazenagem necessários para o preciso reconhecimento do marcador pode se tornar proibitivo. Portanto, são preferidos os marcadores com gráficos de conectividade relativamente simples.
Como outro exemplo, na FIG. 3, um marcador parece uma grade de retângulos. O arranjo da FIG. 3 oferece o benefício da adaptação de uma folha de papel de parede com tamanho retangular de letras. E ambas as FIG. 2, FIG. 3, o marcador inclui uma borda em branco à volta do perímetro do marcador, linhas suficientemente grandes para detectar uma imagem de usuário, e outras características como linhas, interseções e regiões internas que são exclusivamente reconhecíveis contra fundos. Além disso, as FIG. 2, FIG. 3 representam marcadores que incorporam formas ou gráficos que são incomuns em um meio natural, o que melhora o desempenho do processo de reconhecimento da presente.
Em várias realizações, o serviço pode prover um marcador que seja particular para o usuário ou o cliente final, ou que possa prover uma pluralidade de diferentes marcadores que o usuário final possa selecionar e baixar. Por exemplo, diferentes marcadores podem estar associados ou ligados a diferentes produtos, serviços, usuários óu classes de produtos. Por exemplo, diferentes produtos podem ter diferentes tamanhos e o usuário pode desejar visualizar dois diferentes produtos de diferentes tamanhos no mesmo ambiente geral; nesse caso, o serviço pode prover dois diferentes marcadores de diferentes tamanhos. Diferentes produtos de diferentes tamanhos também podem garantir o uso de diferentes marcadores. Por exemplo, um produto de lona para esticamento pintada ou impressa customizada pode usar um diferente tipo de marcador com relação a um deque de prancha de skate decorado customizado.
SERVIÇO DE VISUALIZAÇÃO NO LOCAL
Em uma realização, um serviço computadorizado de visualização no local compreende um ou mais programas de computador ou outros elementos de software que são configurados para realizar as seguintes tarefas gerais: caracterização do site do usuário com o marcador; criação de um componente visual usando os dados encontrados do site do usuário e uma fotografia ou outra imagem digital; apresentação do valor digital.
PROCESSO PARA A CARACTERIZAÇÃO DO SITE DO USUÁRIO COM UM MARCADOR
Em uma realização, a caracterização do site do usuário com o marcador geralmente compreende o reconhecimento digital de um gráfico conectado com base em um gráfico de referência usando um processo ilustrado em formato de fluxograma na FIG. 4.
Primeiro, supor como descrito acima, que o usuário tenha feito uma cópia impressa (bloco 102) de um marcador, colocado (bloco 103) o marcador impresso no ambiente do usuário em um local em que um produto customizado será exibido ou montado, tirado (bloco 104) uma fotografia ou imagem digital do ambiente, incluindo o marcador, e carregado (bloco 105) a fotografia do usuário para o serviço. Por exemplo, a fotografia do usuário pode ser uma imagem digital de uma parte do interior de uma sala em que o marcador tenha sido fixado a uma parede. O processo da FIG. 4 pode ser constituído em lógica de computador para reconhecer o marcador na fotografia do usuário, por exemplo, como parte do uso (bloco 106) da fotografia do usuário do marcador para caracterizar a foto do usuário, o local e a orientação do marcador, e iluminação no local do marcador: É produzida uma imagem linear por meio da filtragem (bloco 401) da fotografia do usuário, de maneira que as características lineares na faixa de tamanhos das linhas do marcador sejam deixadas e outras características não lineares sejam filtradas. Por exemplo, pode ser usado um filtro de passagem de banda limitada ou um filtro de borda. O resultado é uma imagem produzida que quando exibida compreende somente características lineares na faixa de tamanho das linhas do marcador como preto em um fundo branco. A imagem linear é ainda filtrada (bloco 402) em um conjunto Booleano de pixels usando autômatos celulares, de maneira que os elementos lineares tenham um (1) pixel em largura, e cada linha seja representada na imagem por seus pixels sendo estabelecidos como verdade. São providas tabelas de valores exemplares para autômatos celulares no exemplo de pseudocódigo abaixo. A abordagem de autômatos celulares usa um sistema regrado com entradas de vizinhança limite. Na abordagem de autômatos celulares, os pixels vizinhos de um determinado pixel em consideração formam instruções ou opcodes para um autômato que produz um valor de pixel resultante com base na entrada, e o determinado pixel é então substituído pelo valor de pixel resultante. Diferente de pedidos anteriores de autômatos celulares, na presente abordagem, são aplicados autômatos celulares para o adelgaçamento de linha. É provido abaixo um exemplo de pseudocódigo da abordagem dos autômatos celulares. O conjunto de pixels é percorrido (bloco 403). Quando um verdadeiro pixel é encontrado, é construído um gráfico candidato percorrendo os pixels conectados. Por exemplo, quando são identificados pixels conectados, então é reconhecido um nodo. Caso não forem encontrados pixels verdadeiros, algoritmo termina. Como o gráfico candidato é criado e guardado na memória, se as contagens de nodos, arcos ou polítopos forem maiores que as do gráfico de referência, o gráfico candidato é colocado, sendo estabelecidos como falsos os valores armazenados de todos os pixels conectados da presente rede de linha. Em uma realização, o gráfico candidato e o gráfico de referência são representados em um computador usando uma estrutura de dados de borda alada. Podem ser usadas outras estruturas e modelos de dados para representar o gráfico de conectividade candidato e o gráfico de conectividade de • referência e a invenção não se limita à estrutura de dados de borda alada.
Construindo e usando os gráficos de conectividade, o processo pode descartar rapidamente os gráficos candidatos que não obedecerem a um ou mais critérios de conectividade do gráfico de referência. Esse processo é diferente de outras abordagens em que o reconhecimento e a caracterização completos de um gráfico candidato na imagem do usuário possam ser necessários. Por exemplo, na presente abordagem não há necessidade de completar o reconhecimento de um gráfico candidato que ficar excessivamente grande; é simplesmente descartado na primeira oportunidade, aumentando o desempenho e reduzindo o tempo para reconhecer o marcador. No término do gráfico candidato, se as contagens dos nodos, arcos ou polítopos forem menores que as do gráfico de referência, o gráfico candidato é descartado.
Se um conjunto completo de características de conectividade do gráfico candidato combinar com o (bloco 404) gráfico de referência, o algoritmo continua no bloco 407. Se um gráfico candidato é descartado ou rejeitado e não existirem mais pixels verdadeiros no conjunto de pixels (bloco 405), o prosseguimento do conjunto de pixels continua no bloco 403. De outra forma, o algoritmo termina (bloco 406) possivelmente com uma notificação ao usuário que o marcador não pôde ser detectado na fotografia do usuário.
Quando existir uma combinação no gráfico candidato, a orientação e a posição do gráfico de combinação na fotografia do usuário são encontradas calculando (bloco 407) a transformada marcadora, que mapeia os nodos conhecidos no gráfico de referência para encontrar nodos no gráfico de combinação. Assim, quando um gráfico de conectividade que combine é identificado, as coordenadas de pixels dentro da imagem do usuário dos nodos, arcos e politopos são conhecidas, e podem ser mapeadas usando a transformada marcadora para o gráfico de referência. Podem ser usadas técnicas de mapeamento de pontos usando a decomposição de um valor singular, por exemplo, para determinar a transformada marcadora.
Quando a transformada marcadora é determinada, podem ser encontrados pontos de amostragem luminosa (bloco 408) na fotografia. Esses pontos são usados para determinar um ponto branco para a imagem, e um gradiente de luminância ou mapa para a apresentação da componente visual. Por exemplo, as coordenadas no espaço de referência de um primeiro ponto de amostragem luminosa podem ser transformadas, usando a transformada marcadora, para pontos equivalentes no espaço da imagem de usuário; naqueles pontos, podem ser amostrados ou obtidos valores de pixels para determinar um valor branco de base para a imagem do usuário. Em uma realização, o gradiente de luminância é um conjunto de valores que representa uma faixa da magnitude de luz refletida no ambiente do usuário, e pode ser representado por um conjunto de valores delta no espaço imagem, por exemplo, valores Au e ??.
Também pode ser usada uma transformada marcadora (bloco 409) para encontrar os pontos de amostragem escura na imagem do usuário, que são usadas para estabelecer um ponto negro para a apresentação da componente visual. Assim, as informações podem ser extrapoladas no ambiente do usuário, incluindo sua geometria e iluminação, podendo ser aplicadas as alterações adequadas na imagem em termos de espectro cromático, luminância, brilho, e demais atributos de maneira que a imagem apareça, na tela do computador do usuário, o mais similar possível à aparência real do produto fabricado customizado quando é instalado no ambiente do usuário.
PROCESSO PARA CRIAR UM COMPONENTE VISUAL COM DADOS ENCONTRADOS DO SITE DO USUÁRIO
Em uma realização, a criação de um componente visual usando os dados encontrados do site do usuário e uma fotografia ou outra imagem digital pode envolver as etapas ilustradas no fluxograma da FIG. 5.
Inicialmente, é construída uma componente visual usando camadas como a seguir. A fotografia do usuário é ajustada (bloco 501) usando os dados obtidos a partir dos pontos de amostragem luminosa e dos pontos de amostragem escura. É colocada uma referência do produto customizado (bloco 502) na fotografia do usuário usando a transformada marcadora para a colocação; a referência do produto customizado pode compreender um nome ou um identificador exclusivo, um suporte de lugar geométrico como um retângulo dentro de um sistema de coordenadas, e aquele sistema de coordenadas transformado usando uma transformada marcadora, que representa o produto fabricado customizado no qual o usuário esteja interessado. O gradiente de luminância é aplicado (bloco 503) para modificar a luminância do produto customizado de maneira a combinar o gradiente de luz da fotografia do usuário com base em um ponto de luminância conhecida no espaço da imagem do usuário.
Segundo, o produto customizado é exibido (bloco 504) usando as seguintes etapas. Em uma realização, o usuário escolhe o produto customizado e seus atributos que interagem com o serviço. Em uma realização, é carregada a componente visual no local do usuário. Em uma realização, é configurada a componente de apresentação do produto customizado. Em uma realização, a referência do produto customizado é estabelecida na componente do Produto Customizado.
Finalmente, em uma realização, a componente no local é colocada e enviada á unidade de display ou o browser do usuário. VISÃO GERAL DA IMPLEMENTAÇÃO—HARDWARE DO MECANISMO.
De acordo com uma realização, as técnicas descritas na presente são constituídas por um ou mais dispositivos especiais de computação. Os dispositivos especiais de computação podem ser com fios para realizarem as técnicas, ou podem incluir dispositivos eletrônicos digitais como um ou mais circuitos integrados de aplicação específica (ASICs) ou arranjo de portas programável em campo (FPGAs) que são programados com persistência para realizar as técnicas, ou podem incluir um ou mais processadores de hardware de propósitos geral programados para realizarem as técnicas de acordo com instruções do programa em firmware, memória, outras armazenagens ou uma combinação. Esses dispositivos especiais de computação também podem combinar lógica customizada com fio, ASICs, ou FPGAs com programação customizada para cumprir as técnicas. Os dispositivos especiais de computação podem ser sistemas de computadores desktop, sistemas de computadores portáteis, dispositivos manuais, dispositivos em rede ou qualquer outro dispositivo que incorpore lógica de programa e/ou hardware com fio para constituir as técnicas.
Por exemplo, a FIG. 6 é um diagrama de blocos que ilustra um sistema de computador 600. O sistema de computador 600 inclui um barramento 602 ou outro mecanismo de comunicação para a comunicação de informações, e um processador de hardware 604 acoplado ao barramento 602 para o processamento de informações. O processador hardware 604 pode ser, por exemplo, um microprocessador de propósitos gerais. O sistema de computador 600 também inclui uma memória principal 606, como uma memória de acesso randômico (RAM) ou outro dispositivo de armazenagem dinâmica, acoplado a um barramento 602 para guardar informações e instruções a serem executadas pelo processador 604. A memória principal 606 também pode ser usada para guardar variáveis temporárias ou outras informações intermediárias durante a execução das instruções para serem executadas pelo processador 604. Essas instruções, quando guardadas em mídia de armazenagem não transitória acessível ao processador 604, transformam o sistema de computador 600 em uma máquina de propósitos especiais customizada para realizar as operações especificadas nas instruções. O sistema de computador 600 ainda inclui uma memória somente de leitura (ROM) 608 ou outro dispositivo estático de armazenagem acoplado a um barramento 602 para guardar as informações e instruções estáticas para o processador 604. Um dispositivo de armazenagem 610, como um disco magnético ou um disco ótico, é provido e acoplado ao barramento 602 para guardar informações e instruções. O sistema de computador 600 pode ser acoplado por um barramento 602 a um display 612, como um tubo de raios catódicos (CRT), para a exibição de informações ao usuário do computador. É acoplado um dispositivo de entrada 614, incluindo teclas alfanuméricas e outras teclas, ao barramento 602 para a comunicação das informações e comandar seleções para o processador 604. Outro tipo de dispositivo de entrada de usuário é o controle cursor 616, como um mouse, um trackball, ou teclas de direção do cursor para a comunicação de informações de direção e seleções de comando ao processador 604 e para o controle do movimento do cursor no display 612. O dispositivo de entrada tem normalmente dois graus de liberdade em dois eixos, um primeiro eixo (ex., x) e um segundo eixo (ex., y), que seguem o dispositivo para especificar as posições em um plano.
Um sistema de computador 600 pode desenvolver as técnicas descritas na presente usando lógica customizada com fio, um ou mais ASICs ou FPGAs, firmware e/ou lógica de programa que, em combinação com o sistema de computador torna ou programa o sistema de computador 600 em uma máquina de propósitos especiais. De acordo com uma realização, as técnicas da presente são realizadas pelo sistema de computador 600 em resposta ao processador 604 executando uma ou mais sequências de uma ou mais instruções contidas na memória principal 606. Essas instruções podem ser lidas na memória principal 606 a partir de outra mídia de armazenagem, como de um dispositivo de armazenagem 610. A execução das sequências de instruções contidas na memória principal 606 faz o processador 604 realizar as etapas do processo descrito na presente. Em realizações alternativas, os circuitos com fios podem ser usados no lugar ou em combinação com instruções de software. O termo “mídia de armazenagem” como usado na presente, se refere a qualquer mídia não transitória que guarde dados e/ou instruções que façam a máquina operar de uma maneira específica. Essa mídia de armazenagem pode compreender mídia não volátil e/ou mídia volátil. A mídia não volátil inclui, por exemplo, discos óticos ou magnéticos, como o dispositivo de armazenagem 610. A mídia volátil inclui a memória dinâmica, com a memória principal 606. As formas comuns de mídia de armazenagem incluem, por exemplo, disquetes, discos flexíveis, disco rígido, drives em estado sólido, fita magnética ou qualquer outra mídia para a armazenagem de dados magnéticos, um CD-ROM, qualquer outra mídia de armazenagem de dados óticos, qualquer mídia física com padrões de furos, um RAM, um PROM, e EPROM, um FLASH-EPROM, NVRAM, qualquer outro chip ou cartucho de memória.
As mídias de armazenagem são distintas, mas podem ser usadas em conjunto com uma mídia de transmissão. A mídia de transmissão participa na transferência de informações entre as mídias de armazenagem. Por exemplo, a mídia de transmissão inclui cabos coaxiais, fios de cobre e fibras óticas, incluindo a fiação que compreende o barramento 602. A mídia de transmissão também pode ter a forma de ondas acústicas ou luminosas, como as geradas durante as comunicações por ondas de rádio e dados infravermelhos.
Podem ser envolvidas várias formas de mídias na realização de uma ou mais sequências de uma ou mais instruções para o processador 604 executar. Por exemplo, as instruções podem ser inicialmente realizadas em um disco magnético ou em drive de estado sólido de um computador remoto. O computador remoto pode carregar as instruções em sua memória dinâmica e enviar as instruções por uma linha telefônica usando um modem. Um modem local ao sistema de computador 600 pode receber os dados na linha telefônica e usar um transmissor infravermelho para converter os dados em um sinal infravermelho. Um detector infravermelho pode receber os dados transportados no sinal infravermelho e os circuitos adequados podem colocar os dados no barramento 602. O barramento 602 transporta os dados para a memória principal 606, da qual o processador 604 recupera e executa as instruções. As instruções recebidas pela memória principal 606 podem opcionalmente ser guardadas no dispositivo de armazenagem 610 antes ou depois da execução pelo processador 604. O sistema de computador 600 também inclui uma interface de comunicações 618 acoplada a um barramento 602. A interface de comunicações 618 fornece um acoplamento de comunicações de dados em via dupla para um link de rede 620 que está ligado a uma rede local 622. Por exemplo, a interface de comunicações 618 pode ser um cartão de rede digital de serviços integrados (ISDN), um modem de cabo, modem de satélite ou um modem para prover conexão para comunicações de dados para um tipo correspondente de linha telefônica. Como outro exemplo, a interface de comunicações 618 pode ser um cartão de rede de área local (LAN) para prover a conexão de comunicações de dados para uma LAN compatível. Links sem fio também podem ser considerados. Em quaisquer dessas implementações, a interface de comunicações 618 envia e recebe sinais elétricos, eletromagnéticos ou óticos que transportam fluxos de dados digitais que representam vários tipos de informações. O link de rede 620 normalmente fornece comunicação de dados por meio de uma ou de mais redes para outros dispositivos de dados. Por exemplo, o link de rede 620 pode prover uma conexão pela rede local 622 a um computador host 624 ou para um equipamento de dados operado por um Provedor de Serviços de Internet (ISP) 626. O ISP 626 por sua vez, fornece serviços de comunicações de dados por meio da rede mundial de comunicações de dados, atualmente denominada como “Internet” 628. Tanto a rede local 622 como a Internet 628 usam sinais elétricos, eletromagnéticos ou óticos que transportam os fluxos de dados digitais. Os sinais pelas várias redes e os sinais do link de rede 620 e pela interface de comunicações 618, que levam os dados digitais do e para o sistema de computador 600, são formas de exemplos de mídias de transmissão. O sistema de computador 600 pode enviar mensagens e receber dados, incluindo códigos de programas, pela(s) rede(s), link de rede 620 e interface de comunicações 618. No exemplo da Internet, um servidor 630 pode transmitir um código solicitado para um programa aplicativo pela Internet 628, ISP 626, rede local 622 e interface de comunicações 618. O código recebido pode ser executado pelo processador 604 como recebido, e/ou armazenado no dispositivo de armazenagem 610, ou em outra armazenagem não volátil para execução posterior.
EXTENSÕES E ALTERNATIVAS
Nas especificações acima, as realizações da invenção foram descritas com referência a numerosos detalhes específicos que podem variar de realização para realização. Assim, o único e exclusivo indicador do que a invenção se trata, e do que é pretendido pelos solicitantes como sendo a invenção, é o estabelecimento de acordo com as reivindicações que acompanham este pedido, na forma específica apresentada nas reivindicações, incluindo todas as correções subsequentes. Todas as definições expressamente apresentadas na presente para os termos contidos nas reivindicações regerão o significado desses termos como usados nas reivindicações. Assim, nenhuma limitação, elemento, propriedade, característica, vantagem ou atributo que não estiver expressamente mencionado na reivindicação deve limitar o escopo desta reivindicação de qualquer forma. As especificações e desenhos são também vistos como ilustrativos, ao invés de restritivos.
EXEMPLO DE PSEUDOCÓDIGO
Segue-se um exemplo de pseudocódigo da abordagem dos autômatos celulares para o adelgaçamento de linha discutido acima: #define ON Oxff #define ALWAYSJDN Oxfe ^********************************************************************* * Procedure: * EVAL_NEIGHBOR * * Description: * Returns * 0 ifthe pixel value < thresh * 1 ifthe pixel value < ALWAYS_ON
* 2 ifthe pixel value >= ALWAYS_ON * ******************************************************************** #define EVAL_NEIGHBOR(nO)((INT32)(buff[nO] >= thresh) + (INT32)(buff[nO] >= ALWAYS_ON)) y********************************************************************* * Procedure: * EvaluatePixel * * Description: * Evaluates a single pixel by examining its 3x3 neighborhood com * the rules held in thinTab. This is called for each pixel in an * image to perform one thin pass. thresh starts at 0 e is * incremented for each thin pass. thinning is done quando thresh is * not returned during a thinPass ********************************************************************f UINT8 ThinMap::EvaluatePixei (BYTE *buff, UINT8 thresh, INT32 inc, INT32 row) { INT32 value; INT32 index = 0; // build the lookup key for thintab // thintab Stores three States for each // of the 8 pixels in the neighborhood index = EVALNElGHBOR(-inc); // o o o //xoo // o o o value = EVAL_NEIGHBOR(row-inc); // o o o index = value + (index * 3);// o o o //xoo value = EVAL NElG?BOR(row); // o o o index = value + (index * 3);// o o o II oxo value = EVAL_NEIGHBOR(inc+row); // o o o index = value + (index * 3);// o o o // o o x value = EVAL_NEIGHBOR(inc); // o o o index = value + (index * 3);// o o x // o o o value = EVAL_NEIGHBOR(+inc-row); // o o x index = value + (index * 3);// o o o II o o o value = EVAL_NEIG?BOR(-row); // o x o index = value + (index * 3);// o o o // o o o value = EVAL_NEIGHBOR(-inc-row); // x o o index = value + (index * 3);// o o o // o o o value = thinTab[index]; if (value < ALWAYSON) { return(thresh); } return(value) } static UINT8 thinTab[] = { Oxfe, Oxfe, Oxfe, Oxfe, Oxff, OxOO, Oxfe, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, ????, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff. Oxff, 0x00, 0x00, 0x00, Oxff, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, OxOO, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, - Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, Oxfe, Oxfe, 0x00, Oxff, Oxff, 0x00, Oxff, Oxff, Oxfe, Oxff, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxff, Oxff, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxfe, Oxff, Oxff, Oxfe, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxfe, Oxff, Oxff, Oxfe, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxfe, Oxff, Oxff, Oxfe, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, OxOO, OxOO, OxOO, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, OxOO, OxOO, OxOO, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, OxOO, OxOO, OxOO, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, OxOO, OxOO, OxOO, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, OxOO, OxOO, OxOO, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, OxOO, OxOO, OxOO, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, . Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxff, Oxff, Oxfe, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxff, Oxff, Oxfe, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxff, Oxff, Oxfe, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxff, Oxff, Oxfe, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Qxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, OxOO, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxfe, Oxfe, Oxfe, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, 0x00, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, 0x00, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff};

Claims (15)

1. MÉTODO IMPLEMENTADO POR COMPUTADOR, para a visualização de um produto customizado no local, o método caracterizado por compreender: armazenagem dos primeiros dados que representam um gráfico de conectividade de referência de um marcador; obtenção de uma imagem digital pelo menos do marcador; análise da imagem digital para a geração de segundos dados que representam um gráfico de conectividade candidato; com base em pelo menos parte dos primeiros dados e dos segundos dados, determinar se o gráfico de conectividade candidato combina com o gráfico de conectividade de referência; em resposta à determinação de que o gráfico de conectividade candidato combina com o gráfico de conectividade de referência, gerar terceiros dados que pelo menos mapeiem os nodos do gráfico de conectividade de referência com os nodos do gráfico de conectividade candidato; criar um componente visual que visualize o produto customizado na imagem digital usando pelo menos os terceiros dados.
2. MÉTODO, de acordo com a reivindicação 1, caracterizado em que os primeiros dados indicam um ou mais de: uma contagem dos nodos do gráfico de conectividade de referência, uma contagem dos arcos que conectam a um determinado nodo do gráfico de conectividade de referência, uma contagem das linhas ou arcos do gráfico de conectividade de referência, uma contagem dos politopos do gráfico de conectividade de referência, ou uma contagem dos nodos de um determinado politopo do gráfico de conectividade de referência.
3. MÉTODO, de acordo com a reivindicação 1, caracterizado em que os segundos dados indicam um ou mais de: uma contagem dos nodos do gráfico de conectividade de referência, uma contagem dos arcos que conectam a um determinado nodo do gráfico de conectividade de referência, uma contagem das linhas ou arcos do gráfico de conectividade de referência, uma contagem dos politopos do gráfico de conectividade de referência, ou uma contagem dos nodos de um determinado politopo do gráfico de conectividade de referência.
4. MÉTODO, de acordo com a reivindicação 1, caracterizado em que o marcador compreende um ou mais espaços abertos coloridos para auxiliar uma técnica de análise de imagem digital aplicada à imagem digital na detecção de iluminação no ambiente em que o marcador foi fotografado; e em que pelo menos um ou mais espaços abertos coloridos é colorido em um cinza de tonalidade média ou uma tonalidade de cor pastel para auxiliar a técnica de análise de imagem digital na detecção de tendência de cor de iluminação no ambiente em que o marcador foi fotografado.
5. MÉTODO, de acordo com a reivindicação 1, caracterizado por ainda compreender: análise da imagem digital para detectar um ou mais pontos de amostragem luminosa e um ou mais pontos de amostragem escura; determinação de um gradiente luminoso que existe entre os pontos de amostragem; construção do componente visual com base no gradiente luminoso para simular a iluminação no ambiente em que o marcador foi fotografado.
6. MÉTODO, de acordo com a reivindicação 1, caracterizado por ainda compreender: aplicação de um filtro de passagem de banda limitada ou um filtro de borda para a imagem digital produzir uma imagem digital que compreenda características lineares em uma faixa de tamanho de linhas do marcador como preto em fundo branco; e usar um autômato celular regrado com entradas com vizinhança limitada para adelgaçar pelo menos uma das características lineares.
7. MÉTODO, de acordo com a reivindicação 1, caracterizado em que a geração dos terceiros dados compreende o cálculo de uma transformada marcadora que mapeia os nodos do gráfico de conectividade de referência para os nodos do gráfico de conectividade candidato; e em que o método ainda compreende a determinação de uma orientação ou posição do marcador na imagem digital usando a transformada marcadora.
8. MÉTODO, de acordo com a reivindicação 1, caracterizado em que a geração dos terceiros dados compreende o cálculo de uma transformada marcadora que mapeia os nodos do gráfico de conectividade de referência para os nodos do gráfico de conectividade candidato; e em que o método ainda compreende o uso de uma técnica de mapeamento de pontos que envolve a decomposição de um valor singular para determinar a transformada marcadora.
9. MÉTODO, de acordo com a reivindicação 1, caracterizado em que a geração dos terceiros dados compreende o cálculo de uma transformada marcadora que mapeia os nodos do gráfico de conectividade de referência para os nodos do gráfico de conectividade candidato; e em que o método ainda compreende: usar a transformada marcadora para transformar coordenadas de um ponto de amostragem luminosa em um espaço coordenado do marcador para um ponto em um espaço coordenado da imagem digital; e amostrar valores pixel em um ponto no espaço coordenado da imagem digital para determinar um valor branco de base.
10. MÉTODO, de acordo com a reivindicação 1, caracterizado em que a geração dos terceiros dados compreende o cálculo de uma transformada marcadora que mapeia os nodos do gráfico de conectividade de referência para os nodos do gráfico de conectividade candidato; e em que a construção do componente visual compreende a colocação de uma referência do produto customizado na imagem digital usando a transformada marcadora para a colocação.
11. MÉTODO, de acordo com a reivindicação 1, caracterizado por ainda compreender: análise da imagem digital para detectar um ou mais pontos de amostragem luminosa e um ou mais pontos de amostragem escura; determinar um gradiente luminoso que existe entre os pontos de amostragem; em que construção do componente visual inclui a modificação da luminância do componente visual para combinar com o gradiente luminoso.
12. MÉTODO, de acordo com a reivindicação 1, caracterizado em que o componente visual é uma imagem digital.
13. MÍDIA PARA ARMAZENAGEM DE LEITURA POR COMPUTADOR, caracterizado por que armazena uma ou mais sequências de instruções que, quando executadas, faz com que um ou mais processadores realizem um método como mencionado em qualquer das reivindicações 1-12.
14 UM OU MAIS DISPOSITIVOS PARA A COMPUTAÇÃO COM PROPÓSITOS ESPECIAIS, caracterizados por compreender: um ou mais processadores; meios acoplados a um ou mais processadores, para realizar qualquer das etapas mencionadas em qualquer das reivindicações 1-12.
15. SISTEMA DE COMPUTADOR, caracterizado por compreender uma combinação de circuitos com fios e lógica de programa armazenada para realizar o método como mencionado em qualquer das reivindicações 1-12. 10! —-? TRANSMITIR MARCADOR AO USUÁRIO _____________________i---------------------- 102 -- USUÁRIO IMPRIME MARCADOR NO PAPEL i_____________________a_____________________ 103 —“ O USUÁRIO POSICIONA O PAPEL NO LOCAL _____________________i______________________ 104 —-ví O USUÁRIO faz fotografia digital FIGJ ____________DO MARCADOR NO LOCAL____________ 105 —^ — RECEBE FOTOGRAFIA DIGITAL DO MARCADOR _____________________i---------------------- 106 -v^ USA FOTOGRAFIA DIGITAL DO MARCADOR PARA CARACTERIZAR A FOTOGRAFIA E A LOCALIZAÇÃO. _____________________i---------------------- 107 —PRODUZ COMPONENTE DIGITAL QUE VISUALIZA UM PRODUTO CUSTOMIZADO NO LOCAL
BR102012021901-8A 2011-08-31 2012-08-30 método implementado por computador, mídia para armazenagem de leitura por computador, um ou mais dispositivos para a computação com propósitos especiais e sistema de computador BR102012021901B1 (pt)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161529883P 2011-08-31 2011-08-31
US61/529,883 2011-08-31
US13/539,788 US9147213B2 (en) 2007-10-26 2012-07-02 Visualizing a custom product in situ
US13/539,788 2012-07-02

Publications (3)

Publication Number Publication Date
BR102012021901A2 true BR102012021901A2 (pt) 2014-12-09
BR102012021901A8 BR102012021901A8 (pt) 2015-10-27
BR102012021901B1 BR102012021901B1 (pt) 2020-10-27

Family

ID=47146155

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102012021901-8A BR102012021901B1 (pt) 2011-08-31 2012-08-30 método implementado por computador, mídia para armazenagem de leitura por computador, um ou mais dispositivos para a computação com propósitos especiais e sistema de computador

Country Status (6)

Country Link
US (3) US9147213B2 (pt)
EP (3) EP2565824B1 (pt)
JP (1) JP5646564B2 (pt)
AU (1) AU2012211439B2 (pt)
BR (1) BR102012021901B1 (pt)
CA (1) CA2785412C (pt)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8174521B2 (en) * 2007-10-26 2012-05-08 Zazzle.Com Product modeling system and method
US9147213B2 (en) 2007-10-26 2015-09-29 Zazzle Inc. Visualizing a custom product in situ
US11157977B1 (en) 2007-10-26 2021-10-26 Zazzle Inc. Sales system using apparel modeling system and method
US10936650B2 (en) 2008-03-05 2021-03-02 Ebay Inc. Method and apparatus for image recognition services
US9495386B2 (en) 2008-03-05 2016-11-15 Ebay Inc. Identification of items depicted in images
US10719862B2 (en) 2008-07-29 2020-07-21 Zazzle Inc. System and method for intake of manufacturing patterns and applying them to the automated production of interactive, customizable product
US9164577B2 (en) 2009-12-22 2015-10-20 Ebay Inc. Augmented reality system, method, and apparatus for displaying an item image in a contextual environment
US9213920B2 (en) 2010-05-28 2015-12-15 Zazzle.Com, Inc. Using infrared imaging to create digital images for use in product customization
US10127606B2 (en) 2010-10-13 2018-11-13 Ebay Inc. Augmented reality system and method for visualizing an item
WO2013033644A1 (en) 2011-08-31 2013-03-07 Zazzle.Com, Inc. Tiling process for digital image retrieval
US9449342B2 (en) 2011-10-27 2016-09-20 Ebay Inc. System and method for visualization of items in an environment using augmented reality
US10969743B2 (en) 2011-12-29 2021-04-06 Zazzle Inc. System and method for the efficient recording of large aperture wave fronts of visible and near visible light
US9240059B2 (en) 2011-12-29 2016-01-19 Ebay Inc. Personal augmented reality
JP5912059B2 (ja) * 2012-04-06 2016-04-27 ソニー株式会社 情報処理装置、情報処理方法及び情報処理システム
US10846766B2 (en) 2012-06-29 2020-11-24 Ebay Inc. Contextual menus based on image recognition
US9336541B2 (en) 2012-09-21 2016-05-10 Paypal, Inc. Augmented reality product instructions, tutorials and visualizations
US8712566B1 (en) 2013-03-14 2014-04-29 Zazzle Inc. Segmentation of a product markup image based on color and color differences
JP6976682B2 (ja) * 2013-03-15 2021-12-08 ビデリ、インコーポレイテッドVideri Inc. デジタル・アートを表示、配信、鑑賞および制御し、画像形成するためのシステムおよび方法
US9330407B2 (en) * 2013-03-15 2016-05-03 Zazzle Inc. Specification and display of product customization options
US8958663B1 (en) * 2013-09-24 2015-02-17 Zazzle Inc. Automated imaging of customizable products
US9767430B2 (en) * 2013-11-11 2017-09-19 International Business Machines Corporation Contextual searching via a mobile computing device
US9204018B2 (en) 2014-01-21 2015-12-01 Carbon Objects, Inc. System and method of adjusting the color of image objects based on chained reference points, gradient characterization, and pre-stored indicators of environmental lighting conditions
US9639957B2 (en) * 2014-06-12 2017-05-02 A9.Com, Inc. Recommendations utilizing visual image analysis
US9956788B2 (en) 2015-11-24 2018-05-01 Stitch City Industries Devices and methods for printing on boards
US10404938B1 (en) 2015-12-22 2019-09-03 Steelcase Inc. Virtual world method and system for affecting mind state
US10156842B2 (en) 2015-12-31 2018-12-18 General Electric Company Device enrollment in a cloud service using an authenticated application
US10181218B1 (en) 2016-02-17 2019-01-15 Steelcase Inc. Virtual affordance sales tool
US10182210B1 (en) 2016-12-15 2019-01-15 Steelcase Inc. Systems and methods for implementing augmented reality and/or virtual reality
US11501224B2 (en) 2018-01-24 2022-11-15 Andersen Corporation Project management system with client interaction
EP4270016A3 (en) 2018-07-24 2024-02-07 Magic Leap, Inc. Temperature dependent calibration of movement detection devices
US11328495B2 (en) * 2018-08-06 2022-05-10 Wrapmate Llc Systems and methods for generating vehicle wraps
US11158308B1 (en) * 2019-11-27 2021-10-26 Amazon Technologies, Inc. Configuring natural language system
DE102020112700A1 (de) 2020-05-11 2021-11-11 painted life pieces GbR (vertretungsberechtigter Gesellschafter: Ekaterina Zacharova , 83703 Gmund) Druckbearbeitungsvorrichtung und Verfahren
WO2022231705A1 (en) 2021-04-26 2022-11-03 Zazzle Inc. Generating customized products in collaboration with live designers and agents
US11915199B2 (en) 2021-06-03 2024-02-27 Zazzle Inc. Moment-based gifts and designs generated using a digital product collaboration platform
US11915200B2 (en) 2021-07-29 2024-02-27 Zazzle Inc. Collaborative video chat screen sharing using a digital product collaboration platform
US20230125873A1 (en) 2021-10-21 2023-04-27 Zazzle Inc. Interfacing with third party platforms via collaboration sessions
US20230385465A1 (en) 2022-05-29 2023-11-30 Zazzle Inc. System and method for authoring high quality renderings and generating manufacturing output of custom products
US20230386196A1 (en) 2022-05-29 2023-11-30 Zazzle Inc. System and method for authoring high quality renderings and generating manufacturing output of custom products
US12056343B2 (en) 2022-05-29 2024-08-06 Zazzle, Inc. System and method for authoring high quality renderings and generating manufacturing output of custom products
US20230386108A1 (en) 2022-05-29 2023-11-30 Zazzle Inc. System and method for authoring high quality renderings and generating manufacturing output of custom products
US20240020430A1 (en) 2022-05-29 2024-01-18 Zazzle Inc. System and method for authoring high quality renderings and generating manufacturing output of custom products
US20230385466A1 (en) 2022-05-29 2023-11-30 Zazzle Inc. System and method for authoring high quality renderings and generating manufacturing output of custom products
US20230385467A1 (en) 2022-05-29 2023-11-30 Zazzle Inc. System and method for authoring high quality renderings and generating manufacturing output of custom products
US20240303706A1 (en) 2023-03-12 2024-09-12 Zazzle Inc. Generating and determining additional content and products based on product-tokens
US20240303705A1 (en) 2023-03-12 2024-09-12 Zazzle Inc. Generating and determining additional content and products based on product-tokens
US20240303961A1 (en) 2023-03-12 2024-09-12 Zazzle Inc. Generating and determining additional content and products based on product-tokens
US20240303959A1 (en) 2023-03-12 2024-09-12 Zazzle Inc. Generating and determining additional content and products based on product-tokens
US20240303960A1 (en) 2023-03-12 2024-09-12 Zazzle Inc. Generating and determining additional content and products based on product-tokens
US20240303709A1 (en) 2023-03-12 2024-09-12 Zazzle Inc. Generating and determining additional content and products based on product-tokens

Family Cites Families (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5039132A (en) 1990-01-25 1991-08-13 Minnesota Mining And Manufacturing Company Method and form used for ordering custom printed products
US5615123A (en) 1991-04-02 1997-03-25 Creatacard, Inc. System for creating and producing custom card products
KR0183795B1 (ko) 1995-12-28 1999-05-01 김광호 색상 조정 방법 및 장치
US6058373A (en) 1996-10-16 2000-05-02 Microsoft Corporation System and method for processing electronic order forms
US5897622A (en) 1996-10-16 1999-04-27 Microsoft Corporation Electronic shopping and merchandising system
US5999914A (en) 1996-10-16 1999-12-07 Microsoft Corporation Electronic promotion system for an electronic merchant system
GB9707704D0 (en) 1997-04-16 1997-06-04 British Telecomm Display terminal
US6345278B1 (en) 1998-06-04 2002-02-05 Collegenet, Inc. Universal forms engine
JP2000215317A (ja) * 1998-11-16 2000-08-04 Sony Corp 画像処理方法及び画像処理装置
US7107226B1 (en) 1999-01-20 2006-09-12 Net32.Com, Inc. Internet-based on-line comparison shopping system and method of interactive purchase and sale of products
US6542515B1 (en) 1999-05-19 2003-04-01 Sun Microsystems, Inc. Profile service
US6343287B1 (en) 1999-05-19 2002-01-29 Sun Microsystems, Inc. External data store link for a profile service
US6725257B1 (en) 1999-11-30 2004-04-20 Chrome Data Corporation Computationally efficient process and apparatus for configuring a product over a computer network
US6459435B1 (en) 2000-01-11 2002-10-01 Bluebolt Networks, Inc. Methods, systems and computer program products for generating storyboards of interior design surface treatments for interior spaces
US7302114B2 (en) 2000-01-18 2007-11-27 Branders.Com, Inc. Methods and apparatuses for generating composite images
US20010034668A1 (en) 2000-01-29 2001-10-25 Whitworth Brian L. Virtual picture hanging via the internet
US7262778B1 (en) 2000-02-11 2007-08-28 Sony Corporation Automatic color adjustment of a template design
US6577726B1 (en) 2000-03-31 2003-06-10 Siebel Systems, Inc. Computer telephony integration hotelling method and system
US7526437B1 (en) 2000-04-06 2009-04-28 Apple Inc. Custom stores
US7024046B2 (en) 2000-04-18 2006-04-04 Real Time Image Ltd. System and method for the lossless progressive streaming of images over a communication network
US7016869B1 (en) * 2000-04-28 2006-03-21 Shutterfly, Inc. System and method of changing attributes of an image-based product
US6711283B1 (en) 2000-05-03 2004-03-23 Aperio Technologies, Inc. Fully automatic rapid microscope slide scanner
US7117293B1 (en) 2000-05-12 2006-10-03 Apple Computer, Inc. Method and apparatus for archiving and unarchiving objects
US7617184B2 (en) 2000-05-18 2009-11-10 Endeca Technologies, Inc. Scalable hierarchical data-driven navigation system and method for information retrieval
US7062483B2 (en) 2000-05-18 2006-06-13 Endeca Technologies, Inc. Hierarchical data-driven search and navigation system and method for information retrieval
DE10034122A1 (de) 2000-07-13 2002-01-24 Hed Gmbh Haftetikettendruck Set zum Erstellen von Etiketten
US20020073001A1 (en) 2000-12-13 2002-06-13 Itt Manufacturing Enterprises, Inc. System and process for assisting a user to configure a configurable product
US7761397B2 (en) 2001-03-21 2010-07-20 Huelsman David L Rule processing method and apparatus providing automatic user input selections
US7079139B2 (en) 2001-07-02 2006-07-18 Kaon Interactive, Inc. Method and system for measuring an item depicted in an image
US7650296B1 (en) 2001-08-31 2010-01-19 Siebel Systems, Inc. Configurator using structure and rules to provide a user interface
US7580871B2 (en) 2001-08-31 2009-08-25 Siebel Systems, Inc. Method to generate a customizable product configurator
US7274380B2 (en) * 2001-10-04 2007-09-25 Siemens Corporate Research, Inc. Augmented reality system
US20070203771A1 (en) 2001-12-17 2007-08-30 Caballero Richard J System and method for processing complex orders
JP2003264740A (ja) 2002-03-08 2003-09-19 Cad Center:Kk 展望鏡
GB0225789D0 (en) 2002-03-25 2002-12-11 Makemyphone Ltd Method and apparatus for creating image production file for a custom imprinted article
US20070226155A1 (en) 2002-03-29 2007-09-27 Jai-Jein Yu Extended attribute-based pricing system and method
JP2004048674A (ja) 2002-05-24 2004-02-12 Olympus Corp 視野一致型情報呈示システム、並びに、それに用いられる携帯情報端末及びサーバ
US8495163B2 (en) 2004-03-18 2013-07-23 Avaya, Inc. Method and apparatus for a publish-subscribe system with templates for role-based view of subscriptions
JP3962642B2 (ja) 2002-07-08 2007-08-22 キヤノン株式会社 画像処理装置およびその方法
JP3944024B2 (ja) * 2002-08-20 2007-07-11 株式会社東芝 画像処理方法、半導体装置の製造方法、パターン検査装置およびプログラム
BR0315229A (pt) 2002-10-09 2005-08-30 Bodymedia Inc Aparelho para detectar, receber, derivar, e apresentar informação humana fisiológica e de contexto
US20040143644A1 (en) 2003-01-21 2004-07-22 Nec Laboratories America, Inc. Meta-search engine architecture
JP2004282708A (ja) 2003-02-28 2004-10-07 Fuji Photo Film Co Ltd 印刷物生成装置および方法、情報検出装置および方法並びにプログラム
EP1634135B1 (en) * 2003-02-28 2011-09-14 Gannon Technologies Group Systems and methods for source language word pattern matching
DE60300984T2 (de) 2003-06-04 2006-04-27 Sap Ag Methode und Computersystem für die Optimierung eines Boolschen Ausdrucks für Anfragebearbeitung
US20050138078A1 (en) 2003-07-09 2005-06-23 Chad Christenson Catalog management module in a custom product configuration system
EP1713555A2 (en) 2004-01-27 2006-10-25 OpenTV, Inc. Pre-generated game creation methods and apparatus
US20050226498A1 (en) 2004-03-31 2005-10-13 Lee David L Prepress workflow process employing frequency modulation (FM) screening techniques
WO2005111920A1 (en) 2004-05-18 2005-11-24 Silverbrook Research Pty Ltd Authentication of an object using a signature encoded in a number of data portions
US7474318B2 (en) 2004-05-28 2009-01-06 National University Of Singapore Interactive system and method
US20060004697A1 (en) 2004-06-09 2006-01-05 Lipsky Scott E Method and system for restricting the display of images
US7277830B2 (en) 2004-08-17 2007-10-02 Dirtt Environmental Solutions Ltd. Capturing a user's design intent with resolvable objects
US7299171B2 (en) 2004-08-17 2007-11-20 Contentguard Holdings, Inc. Method and system for processing grammar-based legality expressions
US8631347B2 (en) 2004-11-15 2014-01-14 Microsoft Corporation Electronic document style matrix
US8982109B2 (en) 2005-03-01 2015-03-17 Eyesmatch Ltd Devices, systems and methods of capturing and displaying appearances
US20060197775A1 (en) 2005-03-07 2006-09-07 Michael Neal Virtual monitor system having lab-quality color accuracy
US8963926B2 (en) 2006-07-11 2015-02-24 Pandoodle Corporation User customized animated video and method for making the same
US20070033568A1 (en) 2005-07-30 2007-02-08 Barrieau Shawn M System and method for managing product customization
EP1924930A2 (en) 2005-09-16 2008-05-28 Wizard International, Inc. Framed art visualization software
US8023746B2 (en) 2005-10-14 2011-09-20 Disney Enterprises, Inc. Systems and methods for decoding an image to determine a digital identifier
US7769236B2 (en) * 2005-10-31 2010-08-03 National Research Council Of Canada Marker and method for detecting said marker
US7502788B2 (en) 2005-11-08 2009-03-10 International Business Machines Corporation Method for retrieving constant values using regular expressions
US20070124215A1 (en) 2005-11-29 2007-05-31 Simmons Lawrence D Jr Virtual shopping with personal image environment
US7457730B2 (en) 2005-12-15 2008-11-25 Degnan Donald A Method and system for virtual decoration
US7801912B2 (en) 2005-12-29 2010-09-21 Amazon Technologies, Inc. Method and apparatus for a searchable data service
US20070174781A1 (en) 2006-01-25 2007-07-26 Catalog Data Solutions Parameter visualization
JP2007257176A (ja) 2006-03-22 2007-10-04 Fujitsu Ltd 情報処理方法、情報処理装置、および情報処理プログラム
US7702645B2 (en) 2006-06-30 2010-04-20 Nokia Corporation Method, apparatus and computer program product for making semantic annotations for easy file organization and search
JP4926817B2 (ja) * 2006-08-11 2012-05-09 キヤノン株式会社 指標配置情報計測装置および方法
EP2074575A2 (en) 2006-09-29 2009-07-01 B2X Corporation Apparatuses, methods and systems for cross border procurement
US20080091551A1 (en) 2006-09-29 2008-04-17 Marvin Olheiser Knowledge-based customizable product design system
GB2443846B (en) 2006-11-15 2011-12-07 Joseph Timothy Poole Computing system
US7930313B1 (en) 2006-11-22 2011-04-19 Adobe Systems Incorporated Controlling presentation of refinement options in online searches
KR100918392B1 (ko) * 2006-12-05 2009-09-24 한국전자통신연구원 3d 컨텐츠 저작을 위한 개인형 멀티미디어 스튜디오플랫폼 장치 및 방법
US7885956B2 (en) 2007-03-05 2011-02-08 Kelora Systems, Llc Display and search interface for product database
US20090080773A1 (en) 2007-09-20 2009-03-26 Mark Shaw Image segmentation using dynamic color gradient threshold, texture, and multimodal-merging
DE102007045834B4 (de) * 2007-09-25 2012-01-26 Metaio Gmbh Verfahren und Vorrichtung zum Darstellen eines virtuellen Objekts in einer realen Umgebung
US9147213B2 (en) 2007-10-26 2015-09-29 Zazzle Inc. Visualizing a custom product in situ
US8174521B2 (en) 2007-10-26 2012-05-08 Zazzle.Com Product modeling system and method
US8090461B2 (en) 2008-08-22 2012-01-03 Zazzle.Com, Inc. Product customization system and method
US8917424B2 (en) 2007-10-26 2014-12-23 Zazzle.Com, Inc. Screen printing techniques
US9702071B2 (en) 2008-10-23 2017-07-11 Zazzle Inc. Embroidery system and method
WO2009062120A1 (en) 2007-11-07 2009-05-14 Skinit Customizing print content
US7856434B2 (en) 2007-11-12 2010-12-21 Endeca Technologies, Inc. System and method for filtering rules for manipulating search results in a hierarchical search and navigation system
CA2712287A1 (en) 2008-02-01 2009-08-06 Innovation Studios Pty Ltd Method for online selection of items and an online shopping system using the same
KR100927009B1 (ko) * 2008-02-04 2009-11-16 광주과학기술원 증강 현실에서의 햅틱 상호 작용 방법 및 그 시스템
US8521600B2 (en) 2008-04-23 2013-08-27 Hodge Products, Inc. Online ordering system and method for keyed devices
US20090289955A1 (en) * 2008-05-22 2009-11-26 Yahoo! Inc. Reality overlay device
US8064733B2 (en) 2008-06-24 2011-11-22 Microsoft Corporation Variable resolution images
US7933473B2 (en) 2008-06-24 2011-04-26 Microsoft Corporation Multiple resolution image storage
US8233722B2 (en) * 2008-06-27 2012-07-31 Palo Alto Research Center Incorporated Method and system for finding a document image in a document collection using localized two-dimensional visual fingerprints
EP2370922A4 (en) 2008-07-29 2012-06-13 Zazzle Com Inc PRODUCT ADJUSTMENT SYSTEM AND METHOD
US8694893B2 (en) 2008-08-08 2014-04-08 Oracle International Corporation Interactive product configurator with persistent component association
US8335724B2 (en) 2008-08-13 2012-12-18 Branders.Com, Inc. Customized virtual catalog
US20100048290A1 (en) * 2008-08-19 2010-02-25 Sony Computer Entertainment Europe Ltd. Image combining method, system and apparatus
US8520979B2 (en) * 2008-08-19 2013-08-27 Digimarc Corporation Methods and systems for content processing
US20100066731A1 (en) 2008-09-16 2010-03-18 James Calvin Vecore Configurator Process and System
US20100066750A1 (en) * 2008-09-16 2010-03-18 Motorola, Inc. Mobile virtual and augmented reality system
US8873829B1 (en) 2008-09-26 2014-10-28 Amazon Technologies, Inc. Method and system for capturing and utilizing item attributes
WO2010045271A1 (en) * 2008-10-14 2010-04-22 Joshua Victor Aller Target and method of detecting, identifying, and determining 3-d pose of the target
US20100114874A1 (en) 2008-10-20 2010-05-06 Google Inc. Providing search results
JP2010117870A (ja) 2008-11-12 2010-05-27 B-Core Inc 包含型コードシンボル及びその読み出し方法、並びに閉領域包含型コードシンボル及びその読み出し方法、並びに、包含型コードシンボルが付された物品及び閉領域包含型コードシンボルが付された物品。
US8189965B2 (en) 2008-11-17 2012-05-29 Image Trends, Inc. Image processing handheld scanner system, method, and computer readable medium
US20100145492A1 (en) 2008-12-09 2010-06-10 The Boeing Company Automated Custom Design Generation
US8606657B2 (en) * 2009-01-21 2013-12-10 Edgenet, Inc. Augmented reality method and system for designing environments and buying/selling goods
US20100189316A1 (en) * 2009-01-27 2010-07-29 Gannon Technologies Group, Llc Systems and methods for graph-based pattern recognition technology applied to the automated identification of fingerprints
US9171361B2 (en) 2010-04-23 2015-10-27 Flir Systems Ab Infrared resolution and contrast enhancement with fusion
US8681145B2 (en) * 2009-03-20 2014-03-25 Disney Enterprises, Inc. Attribute transfer between computer models including identifying isomorphic regions in polygonal meshes
JP5466418B2 (ja) 2009-03-27 2014-04-09 株式会社成基総研 判定装置、判定方法、およびプログラム
JP2010287174A (ja) 2009-06-15 2010-12-24 Dainippon Printing Co Ltd 家具シミュレーション方法、装置、プログラム、記録媒体
US8214069B2 (en) 2009-10-23 2012-07-03 Certusoft, Inc. Automated hierarchical configuration of custom products with complex geometries: method and apparatus
US8831279B2 (en) 2011-03-04 2014-09-09 Digimarc Corporation Smartphone-based methods and systems
US8497876B2 (en) 2009-11-02 2013-07-30 Pacific Data Images Llc Infinite complexity deep-framebuffer rendering
US8700492B1 (en) 2009-12-09 2014-04-15 Amazon Technologies, Inc. Customized product display
US20110225038A1 (en) 2010-03-15 2011-09-15 Yahoo! Inc. System and Method for Efficiently Evaluating Complex Boolean Expressions
US9213920B2 (en) 2010-05-28 2015-12-15 Zazzle.Com, Inc. Using infrared imaging to create digital images for use in product customization
US8429110B2 (en) 2010-06-10 2013-04-23 Microsoft Corporation Pattern tree-based rule learning
EP2395474A3 (en) * 2010-06-11 2014-03-26 Nintendo Co., Ltd. Storage medium having image recognition program stored therein, image recognition apparatus, image recognition system, and image recognition method
US8190486B1 (en) 2010-07-15 2012-05-29 Myworld, Inc. Techniques for product selection
US8290822B2 (en) 2010-08-20 2012-10-16 Valuemomentum, Inc. Product configuration server for efficiently displaying selectable attribute values for configurable products
US8566714B1 (en) 2010-09-20 2013-10-22 Insignia Group, L.C. Catalog accessories meta-configurator, and its use thereof
JP5646263B2 (ja) * 2010-09-27 2014-12-24 任天堂株式会社 画像処理プログラム、画像処理装置、画像処理システム、および、画像処理方法
WO2012064893A2 (en) 2010-11-10 2012-05-18 Google Inc. Automated product attribute selection
US20120123674A1 (en) 2010-11-15 2012-05-17 Microsoft Corporation Displaying product recommendations on a map
JP5697487B2 (ja) * 2011-02-25 2015-04-08 任天堂株式会社 画像処理システム、画像処理方法、画像処理装置、および画像処理用プログラム
KR20140006063A (ko) 2011-04-25 2014-01-15 알까뗄 루슨트 추천 서비스들에서 사생활 보호
US8787707B1 (en) 2011-06-29 2014-07-22 Amazon Technologies, Inc. Identification of product attributes
US9002896B2 (en) 2011-08-23 2015-04-07 Xerox Corporation Knowledge-assisted approach to dynamically create data sources for variable-data marketing campaigns
US9348890B2 (en) 2011-08-30 2016-05-24 Open Text S.A. System and method of search indexes using key-value attributes to searchable metadata
WO2013033644A1 (en) 2011-08-31 2013-03-07 Zazzle.Com, Inc. Tiling process for digital image retrieval
WO2013067437A1 (en) 2011-11-02 2013-05-10 Hoffman Michael Theodor Systems and methods for dynamic digital product synthesis, commerce, and distribution
JP6093773B2 (ja) 2011-11-07 2017-03-08 エンパイア テクノロジー ディベロップメント エルエルシー キャッシュベースのキー・バリューストアのマッピングおよび複製
US8495072B1 (en) 2012-01-27 2013-07-23 International Business Machines Corporation Attribute-based identification schemes for objects in internet of things
CN103970604B (zh) 2013-01-31 2017-05-03 国际商业机器公司 基于MapReduce架构实现图处理的方法和装置
US8712566B1 (en) 2013-03-14 2014-04-29 Zazzle Inc. Segmentation of a product markup image based on color and color differences
JP6281225B2 (ja) 2013-09-30 2018-02-21 日本電気株式会社 情報処理装置

Also Published As

Publication number Publication date
US8654120B2 (en) 2014-02-18
US9147213B2 (en) 2015-09-29
AU2012211439B2 (en) 2015-02-19
JP5646564B2 (ja) 2014-12-24
US20130050218A1 (en) 2013-02-28
EP4040367A1 (en) 2022-08-10
AU2012211439A1 (en) 2013-03-14
BR102012021901B1 (pt) 2020-10-27
EP2565824B1 (en) 2018-12-19
CA2785412C (en) 2016-08-23
EP3462383B1 (en) 2022-05-11
US9436963B2 (en) 2016-09-06
BR102012021901A8 (pt) 2015-10-27
CA2785412A1 (en) 2013-02-28
EP2565824A1 (en) 2013-03-06
US20140160118A1 (en) 2014-06-12
JP2013054740A (ja) 2013-03-21
US20130050205A1 (en) 2013-02-28
EP3462383A1 (en) 2019-04-03

Similar Documents

Publication Publication Date Title
BR102012021901A2 (pt) Visualização de produto customizado no local
US9262854B2 (en) Systems, methods, and media for creating multiple layers from an image
US8274523B2 (en) Processing digital templates for image display
US8538986B2 (en) System for coordinating user images in an artistic design
US8212834B2 (en) Artistic digital template for image display
US8849853B2 (en) Method for matching artistic attributes of a template and secondary images to a primary image
US8289340B2 (en) Method of making an artistic digital template for image display
US20110026835A1 (en) System for matching artistic attributes of secondary image and template to a primary image
US20110029914A1 (en) Apparatus for generating artistic image template designs
US8345057B2 (en) Context coordination for an artistic digital template for image display
US20110029860A1 (en) Artistic digital template for image display
US20110029562A1 (en) Coordinating user images in an artistic design
US8332427B2 (en) Method of generating artistic template designs
US9727802B2 (en) Automatic, computer-based detection of triangular compositions in digital photographic images
US20190295321A1 (en) Mobile application for signage design solution using augmented reality
US20040085338A1 (en) Automatic index making system and method for electronic catalog
CN108776963B (zh) 一种反向图像鉴真的方法和系统
TW202234340A (zh) 用於開發觸覺教學材料的圖像轉換方法
Pfeffer Depth of Field: Historic Stereophotography as a Resource for Landscape Researchers
Greco The Complexity Around 3D Lighting of a Natural Landscape
TW202312081A (zh) 帶有標籤的物件呈現裝置
Haralambidou The Veiled Matrix of Architectural Representation

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B25F Entry of change of name and/or headquarter and transfer of application, patent and certif. of addition of invention: change of name on requirement

Owner name: ZAZZIE.COM, INC (US)

Free format text: A FIM DE ATENDER A ALTERACAO DE NOME REQUERIDA ATRAVES DA PETICAO NO 860140108430, DE 02/07/2014, E NECESSARIO APRESENTAR A TRADUCAO DO DOCUMENTO DE ALTERACAO DE NOME E O MESMO DEVE TER A LEGALIZACAO CONSULAR.

B25D Requested change of name of applicant approved

Owner name: ZAZZLE INC (US)

B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 4A ANUIDADE.

B08G Application fees: restoration [chapter 8.7 patent gazette]
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 30/08/2012, OBSERVADAS AS CONDICOES LEGAIS.