;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Logo Pagbenk Seu dinheiro rende mais
Topo

Acionistas críticos à Vale pedem demissão para investigação fluir

Denise Luna

Do Estadão Conteúdo

05/02/2019 16h21Atualizada em 07/02/2019 12h58

Em carta ao Conselho de istração da Vale, dez acionistas críticos à empresa alegaram quebra de confiança do investidor e prejuízos à companhia para pedir a imediata demissão da diretoria, que, segundo eles, seria responsável pelo rompimento da barragem da mineradora em Brumadinho (MG), acidente que caminha para um saldo de mais de 300 mortes. Eles avaliam que, com o afastamento dos diretores, as investigações poderão seguir com maior isenção.

"É evidente que a manutenção dos Diretores Executivos em seus cargos, a cada dia que a, compromete uma investigação isenta e profunda sobre os fatos, na medida em que essas pessoas tenderão a evitar ao máximo que a responsabilidade sobre a tragédia recaia sobre eles mesmos", afirmaram em carta ao Conselho distribuída durante coletiva em Brumadinho pelo grupo Articulação Internacional dos Atingidos pela Vale, que lidera o movimento dos acionistas críticos à mineradora desde 2010.

Os acionistas usaram na carta o próprio regimento interno da companhia para cobrar uma atitude do Conselho, lembrando que é dever do Conselho de istração proteger o patrimônio da sociedade, e maximizar, no longo prazo, o retorno do investimento dos seus acionistas.

"É urgente que este Conselho de istração tome medidas firmes e enérgicas no sentido de garantir uma investigação livre de qualquer suspeita e de impedir novas tragédias, assim como a perpetuação dos danos à reputação da empresa, ameaçando a viabilidade de seus negócios no Brasil e nos diversos países em que tem operações", explicaram na carta. "A imediata destituição dessas pessoas significará um primeiro sinal efetivo dado pelo Conselho de istração da empresa não só aos acionistas como também a todo o mundo no sentido da recuperação de sua credibilidade e do compromisso com a verdade, doa a quem doer", completaram.

Outra carta foi remetida ao Conselho Fiscal da Vale, na qual os acionistas pedem que seja convocada imediatamente uma Assembleia Geral Extraordinária para prestar informações detalhadas a eles.